AppCard oluşturmak için uygulamanın manifestte AppCardContentProvider
öğesini genişleten bir sağlayıcı oluşturması gerekir. AppCardContentProvider
, AppCard'ların oluşturulmasını kolaylaştırmak için temel ayrıntıları soyutlar.
Manifest beyanı
AppCard oluşturmak için uygulamanın, manifestte AppCardContentProvider
uzantısını oluşturacak bir sağlayıcı oluşturması gerekir.
<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>
Paket başına yalnızca bir sağlayıcı tanımlanabilir ve bu özelliklere sahip olmalıdır:
android:exported="true"
android:enabled="true"
android:permission="@string/host_permission"
VEYA
android:readPermission="@string/host_permission"
VE
android:writePermission="@string/host_permission"
@string/host_permission
, AppCard kitaplığında bulunur ve sistemin Android API sürümüne bağlı olarak bir izin tanımlar.Dize kaynağının kullanılması yalnızca Gradle ile derleme yapılırken işe yarar. Soong'u kullanırken dize kaynağı değeriyle birlikte açık dizeyi uygun kaynak niteleyicisine göre belirtin.
(varsayılan)
android:grantUriPermissions="false"
(varsayılan)
android:forceUriPermissions="false"
Beklenmedik sonuçları önlemek için sağlayıcının
android:authorities
içinde yalnızca tek bir yetkili tanımlaması gerekir.İşleme dayalı bir intent filtresi bildirin,
com.android.car.appcard.APP_CARD_PROVIDER
Extend AppCardContentProvider
Bu bölümde override ve protected nihai yöntemleri açıklanmaktadır.
Geçersiz kılma yöntemleri
val authority: String
android:authorities
manifest özelliğinde tanımlanan yetkiyi döndürmek için kullanın.fun onCreate(): Boolean
super.onCreate()
yöntemini çağırmalıdır. Bu yöntemi, AppCard istendiğinde ayarlanırsa gecikmeye neden olabilecek işlevleri ayarlamak için kullanın.val appCardIds: List
fun onAppCardAdded(String, AppCardContext): AppCard
AppCardContext
değerini sağlar.
Bu yöntemi, AppCards tarafından sağlayıcı olarak desteklenen tüm işlevleri ayarlamak için kullanın. Bu işlev çağrıldığında, verilen kimliğe karşılık gelen AppCard'ın etkin olduğu kabul edilir.
fun onAppCardRemoved(String)
fun onAppCardContextChanged(String, AppCardContext)
AppCardContext
gönderir.Korumalı nihai yöntemler
fun sendAppCardUpdate(AppCard)
fun sendAppCardComponentUpdate(String, Component)
EnforceFastUpdateRate
ile etiketlenmişse güncelleme hemen gönderilir.SSS
Örnek uygulamalar nerede bulunur?