Per creare una scheda app, un'app deve creare un provider nel manifest che estenda
AppCardContentProvider
. AppCardContentProvider
astrae i dettagli
sottostanti per facilitare la creazione di AppCard.
Dichiarazione del manifest
Per creare una scheda app, un'app deve creare un provider nel manifest per estendere
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>
Per ogni pacchetto può essere definito un solo fornitore con queste proprietà:
android:exported="true"
android:enabled="true"
android:permission="@string/host_permission"
OPPURE,
android:readPermission="@string/host_permission"
E,
android:writePermission="@string/host_permission"
@string/host_permission
esiste nella libreria AppCard e definisce un'autorizzazione a seconda della versione dell'API Android del sistema.L'utilizzo della risorsa stringa funziona solo quando la build viene creata con Gradle. Quando utilizzi Soong, specifica la stringa esplicita con il valore della risorsa stringa in base al qualificatore di risorsa appropriato.
(predefinito)
android:grantUriPermissions="false"
(predefinito)
android:forceUriPermissions="false"
Per evitare risultati imprevisti, è necessario che il fornitore definisca una sola autorità solo in
android:authorities
.Dichiara un filtro per intent basato sull'azione,
com.android.car.appcard.APP_CARD_PROVIDER
Estendi AppCardContentProvider
Questa sezione descrive i metodi finali override e protected.
Metodi di override
val authority: String
android:authorities
del file manifest.fun onCreate(): Boolean
super.onCreate()
. Utilizza questo
metodo per configurare funzionalità che potrebbero potenzialmente causare un ritardo se configurate
quando viene richiesta una scheda app.val appCardIds: List
fun onAppCardAdded(String, AppCardContext): AppCard
AppCardContext
che fornisce
suggerimenti su come viene visualizzata la scheda app.
Utilizza questo metodo per configurare qualsiasi funzionalità richiesta dalle AppCard supportate come fornitore. Una volta chiamata questa funzione, la scheda app che corrisponde all'ID specificato viene considerata attiva.
fun onAppCardRemoved(String)
fun onAppCardContextChanged(String, AppCardContext)
AppCardContext
aggiornato.Metodi finali protetti
fun sendAppCardUpdate(AppCard)
fun sendAppCardComponentUpdate(String, Component)
EnforceFastUpdateRate
, l'aggiornamento viene inviato immediatamente.Domande frequenti
Dove si trovano le implementazioni di esempio?