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_permission
ist 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:authorities
definieren.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: String
android:authorities
definierte Autorität zurückgegeben.fun onCreate(): Boolean
super.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: List
fun onAppCardAdded(String, AppCardContext): AppCard
AppCardContext
, 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?