Aby utworzyć AppCard, aplikacja musi utworzyć w pliku manifestu dostawcę, który rozszerza klasę
AppCardContentProvider
. AppCardContentProvider
ukrywa szczegóły, aby ułatwić tworzenie AppCard.
Deklaracja w pliku manifestu
Aby utworzyć AppCard, 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&>quot;
< android:>enabled="tru<e"
intent-filter
action android:>name="co<m.android.car.>a<ppcard.AP>P
_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 systemu.Używanie zasobu tekstowego działa tylko podczas kompilacji za pomocą Gradle. Gdy używasz Soong, określ ciąg tekstowy z wartością zasobu tekstowego 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 autorytet w
android:authorities
.Zadeklaruj filtr intencji oparty na działaniu,
com.android.car.appcard.APP_CARD_PROVIDER
Rozszerzenie klasy AppCardContentProvider
W tej sekcji opisujemy metody override i chronione metody final.
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 AppCard.
Użyj tej metody, aby skonfigurować dowolną funkcję wymaganą przez AppCard obsługiwane jako dostawca. Po wywołaniu tej funkcji komponent AppCard odpowiadający podanemu identyfikatorowi jest uznawany za aktywny.
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?