Untuk membuat AppCard, aplikasi harus membuat penyedia dalam manifes yang memperluas
AppCardContentProvider
. AppCardContentProvider
mengabstraksi detail
yang mendasarinya untuk memfasilitasi pembuatan Kartu Aplikasi.
Pernyataan manifes
Untuk membuat AppCard, aplikasi harus membuat penyedia dalam manifes untuk memperluas
AppCardContentProvider
.
<provider android:name=".SimpleAppCardContentProvider"
android:authorities="com.example.appcard.sample.media"
android:permission="@string/host_permission"
android:exported="true"
android:enabled="true">
<intent-filter>
<action android:name="com.android.car.appcard.APP_CARD_PROVIDER" />
</intent-filter>
</provider>
Hanya satu penyedia yang dapat ditentukan per paket dan dengan properti ini:
android:exported="true"
android:enabled="true"
android:permission="@string/host_permission"
ATAU,
android:readPermission="@string/host_permission"
DAN,
android:writePermission="@string/host_permission"
@string/host_permission
ada di library AppCard dan menentukan izin bergantung pada versi Android API sistem.Penggunaan resource string hanya berfungsi saat membuat build dengan Gradle. Saat menggunakan Soong, tentukan string eksplisit dengan nilai resource string sesuai dengan penentu resource yang sesuai.
(default)
android:grantUriPermissions="false"
(default)
android:forceUriPermissions="false"
Untuk menghindari hasil yang tidak terduga, penyedia harus menentukan hanya satu otoritas di
android:authorities
.Mendeklarasikan filter intent berbasis tindakan,
com.android.car.appcard.APP_CARD_PROVIDER
Memperluas AppCardContentProvider
Bagian ini menjelaskan metode akhir penggantian dan terlindungi.
Mengganti metode
val authority: String
android:authorities
.fun onCreate(): Boolean
super.onCreate()
. Gunakan metode ini untuk menyiapkan fungsi yang berpotensi menyebabkan penundaan jika disiapkan saat AppCard diminta.val appCardIds: List
fun onAppCardAdded(String, AppCardContext): AppCard
AppCardContext
yang memberikan
petunjuk tentang cara AppCard ditampilkan.
Gunakan metode ini untuk menyiapkan fungsi apa pun yang diperlukan oleh AppCards yang didukung sebagai penyedia. Setelah fungsi ini dipanggil, AppCard yang sesuai dengan ID yang diberikan dianggap aktif.
fun onAppCardRemoved(String)
fun onAppCardContextChanged(String, AppCardContext)
AppCardContext
yang diperbarui.Metode akhir yang dilindungi
fun sendAppCardUpdate(AppCard)
fun sendAppCardComponentUpdate(String, Component)
EnforceFastUpdateRate
, maka
update akan segera dikirim.FAQ
Di mana contoh implementasinya?