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_permissionada 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: Stringandroid:authorities.fun onCreate(): Booleansuper.onCreate(). Gunakan metode ini untuk menyiapkan fungsi yang berpotensi menyebabkan penundaan jika disiapkan saat AppCard diminta.val appCardIds: Listfun onAppCardAdded(String, AppCardContext): AppCardAppCardContext 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?