Damit eine App eine AppCard erstellen kann, muss sie im Manifest einen Anbieter erstellen, der AppCardContentProvider erweitert. Das AppCardContentProvider abstrahiert die zugrunde liegenden Details, um die Erstellung von AppCards zu erleichtern.
Manifestdeklaration
Damit eine App eine AppCard erstellen kann, muss sie im Manifest einen Anbieter erstellen, um AppCardContentProvider zu erweitern.
<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>
Pro Paket kann nur ein Anbieter definiert werden, und zwar mit den folgenden Properties:
android:exported="true"android:enabled="true"android:permission="@string/host_permission"ODER
android:readPermission="@string/host_permission"UND
android:writePermission="@string/host_permission"
@string/host_permissionist in der AppCard-Bibliothek vorhanden und definiert eine Berechtigung, die von der Android-API-Version des Systems abhängt.Die Verwendung der String-Ressource funktioniert nur beim Erstellen mit Gradle. Wenn Sie Soong verwenden, geben Sie den expliziten String mit dem String-Ressourcenwert entsprechend dem entsprechenden Ressourcenqualifizierer an.
(Standard)
android:grantUriPermissions="false"(Standard)
android:forceUriPermissions="false"Um unerwartete Ergebnisse zu vermeiden, muss der Anbieter nur eine Autorität in
android:authoritiesdefinieren.Deklarieren Sie einen aktionsbasierten Intent-Filter,
com.android.car.appcard.APP_CARD_PROVIDER
AppCardContentProvider erweitern
In diesem Abschnitt werden die finalen Methoden override und protected beschrieben.
Methoden überschreiben
val authority: Stringandroid:authorities definierte Autorität zurückgegeben.fun onCreate(): Booleansuper.onCreate() aufrufen. Verwenden Sie diese Methode, um Funktionen einzurichten, die möglicherweise zu einer Verzögerung führen, wenn sie beim Anfordern einer AppCard eingerichtet werden.val appCardIds: Listfun onAppCardAdded(String, AppCardContext): AppCardAppCardContext, die Hinweise zur Darstellung der AppCard geben.
Mit dieser Methode können Sie alle Funktionen einrichten, die von AppCards als Anbieter unterstützt werden. Sobald diese Funktion aufgerufen wird, gilt die AppCard, die der angegebenen ID entspricht, als aktiv.
fun onAppCardRemoved(String)fun onAppCardContextChanged(String, AppCardContext)AppCardContext sendet.Geschützte finale Methoden
fun sendAppCardUpdate(AppCard)fun sendAppCardComponentUpdate(String, Component)EnforceFastUpdateRate gekennzeichnet ist, wird das Update sofort gesendet.Häufig gestellte Fragen
Wo finde ich die Beispielimplementierungen?