App-Infokarte erstellen

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&>quot;
       <     android:>enabled="tru<e"
            intent-filter
                action android:>name="co<m.android.car.>a<ppcard.AP>P_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
Mit dieser Methode wird die im Manifestattribut android:authorities definierte Autorität zurückgegeben.

fun onCreate(): Boolean
Diese Methode muss 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
Mit dieser Methode wird die Liste der unterstützten AppCard-IDs zurückgegeben. Wir empfehlen, jede ID ausführlich zu gestalten, da dieser String zum Protokollieren von Fehlern verwendet wird.

fun onAppCardAdded(String, AppCardContext): AppCard
Diese Methode wird aufgerufen, wenn eine AppCard zum ersten Mal angezeigt wird. Sie enthält die ID der AppCard und die 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)
Diese Methode wird aufgerufen, wenn dem Nutzer keine verbleibenden Instanzen der AppCard angezeigt werden, und übernimmt alle Bereinigungen. Wenn diese Funktion aufgerufen wird, gilt die AppCard, die der angegebenen ID entspricht, als inaktiv.

fun onAppCardContextChanged(String, AppCardContext)
Diese Methode wird aufgerufen, wenn das System die Darstellung einer AppCard aktualisieren möchte und eine aktualisierte AppCardContext sendet.

Geschützte finale Methoden

fun sendAppCardUpdate(AppCard)
Rufen Sie diese Methode auf, um ein Update für eine aktive AppCard in die Warteschlange zu stellen.

fun sendAppCardComponentUpdate(String, Component)
Rufen Sie diese Methode auf, um ein Update für eine Komponente in einer aktiven AppCard in die Warteschlange zu stellen. Wenn die angegebene Komponente mit EnforceFastUpdateRate gekennzeichnet ist, wird das Update sofort gesendet.

Häufig gestellte Fragen

Wo finde ich die Beispielimplementierungen?