Pour créer une AppCard, une application doit créer un fournisseur dans le fichier manifeste qui étend AppCardContentProvider
. AppCardContentProvider
fait abstraction des détails sous-jacents pour faciliter la création d'AppCards.
Déclaration du fichier manifeste
Pour créer une AppCard, une application doit créer un fournisseur dans le fichier manifeste pour étendre 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>
Un seul fournisseur peut être défini par package avec les propriétés suivantes :
android:exported="true"
android:enabled="true"
android:permission="@string/host_permission"
OU,
android:readPermission="@string/host_permission"
ET
android:writePermission="@string/host_permission"
@string/host_permission
existe dans la bibliothèque AppCard et définit une autorisation en fonction de la version de l'API Android du système.L'utilisation de la ressource de chaîne ne fonctionne que lors de la compilation avec Gradle. Lorsque vous utilisez Soong, spécifiez la chaîne explicite avec la valeur de la ressource de chaîne en fonction du qualificatif de ressource approprié.
(par défaut)
android:grantUriPermissions="false"
(par défaut)
android:forceUriPermissions="false"
Pour éviter les résultats inattendus, le fournisseur doit définir une seule autorité dans
android:authorities
.Déclarez un filtre d'intent basé sur une action :
com.android.car.appcard.APP_CARD_PROVIDER
Étendre AppCardContentProvider
Cette section décrit les méthodes finales override et protected.
Ignorer les méthodes
val authority: String
android:authorities
.fun onCreate(): Boolean
super.onCreate()
. Utilisez cette méthode pour configurer des fonctionnalités qui pourraient potentiellement entraîner un retard si elles sont configurées lorsqu'une AppCard est demandée.val appCardIds: List
fun onAppCardAdded(String, AppCardContext): AppCard
AppCardContext
qui fournit des indications sur la façon dont l'AppCard est affichée.
Utilisez cette méthode pour configurer les fonctionnalités requises par les AppCards compatibles en tant que fournisseur. Une fois cette fonction appelée, l'AppCard correspondant à l'ID donné est considérée comme active.
fun onAppCardRemoved(String)
fun onAppCardContextChanged(String, AppCardContext)
AppCardContext
mis à jour.Méthodes finales protégées
fun sendAppCardUpdate(AppCard)
fun sendAppCardComponentUpdate(String, Component)
EnforceFastUpdateRate
, la mise à jour est envoyée immédiatement.Questions fréquentes
Où se trouvent les exemples d'implémentation ?