Aby utworzyć kartę aplikacji, aplikacja musi utworzyć w manifeście dostawcę, który rozszerza klasę
AppCardContentProvider
. AppCardContentProvider
ukrywa szczegóły, aby ułatwić tworzenie kart aplikacji.
Deklaracja w pliku manifestu
Aby utworzyć kartę aplikacji, aplikacja musi utworzyć dostawcę w pliku manifestu, aby rozszerzyć 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>
W przypadku każdego pakietu można zdefiniować tylko jednego dostawcę z tymi właściwościami:
android:exported="true"
android:enabled="true"
android:permission="@string/host_permission"
LUB
android:readPermission="@string/host_permission"
ORAZ
android:writePermission="@string/host_permission"
@string/host_permission
znajduje się w bibliotece AppCard i określa uprawnienia w zależności od wersji interfejsu Android API w systemie.Używanie zasobu ciągu znaków działa tylko podczas kompilacji za pomocą Gradle. Gdy używasz Soong, określ ciąg znaków z wartością zasobu ciągu znaków zgodnie z odpowiednim kwalifikatorem zasobu.
(domyślny)
android:grantUriPermissions="false"
(domyślny)
android:forceUriPermissions="false"
Aby uniknąć nieoczekiwanych wyników, dostawca musi zdefiniować tylko jeden organ w
android:authorities
.Zadeklaruj filtr intencji oparty na działaniu,
com.android.car.appcard.APP_CARD_PROVIDER
Extend AppCardContentProvider
W tej sekcji opisujemy metody finalne override i protected.
Metody zastępowania
val authority: String
android:authorities
.fun onCreate(): Boolean
super.onCreate()
. Użyj tej metody, aby skonfigurować funkcję, która może spowodować opóźnienie, jeśli zostanie skonfigurowana w momencie wysłania żądania AppCard.val appCardIds: List
fun onAppCardAdded(String, AppCardContext): AppCard
AppCardContext
, które zawierają wskazówki dotyczące sposobu wyświetlania karty aplikacji.
Użyj tej metody, aby skonfigurować dowolną funkcję wymaganą przez karty aplikacji obsługiwane jako dostawca. Po wywołaniu tej funkcji karta aplikacji odpowiadająca podanemu identyfikatorowi jest uznawana za aktywną.
fun onAppCardRemoved(String)
fun onAppCardContextChanged(String, AppCardContext)
AppCardContext
.Chronione metody finalne
fun sendAppCardUpdate(AppCard)
fun sendAppCardComponentUpdate(String, Component)
EnforceFastUpdateRate
, aktualizacja jest wysyłana natychmiast.Najczęstsze pytania
Gdzie są przykładowe implementacje?