כדי ליצור AppCard, האפליקציה צריכה ליצור ספק במניפסט שמרחיב את
AppCardContentProvider
. ה-AppCardContentProvider
מסתיר את הפרטים הבסיסיים כדי להקל על יצירת כרטיסי אפליקציה.
הצהרה במניפסט
כדי ליצור AppCard, האפליקציה צריכה ליצור ספק במניפסט כדי להרחיב את
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>
אפשר להגדיר רק ספק אחד לכל חבילה, עם המאפיינים הבאים:
android:exported="true"
android:enabled="true"
android:permission="@string/host_permission"
או
android:readPermission="@string/host_permission"
וגם
android:writePermission="@string/host_permission"
@string/host_permission
קיים בספריית AppCard ומגדיר הרשאה בהתאם לגרסת Android API של המערכת.השימוש במשאב המחרוזת פועל רק כשמבצעים build באמצעות Gradle. כשמשתמשים ב-Soong, צריך לציין את המחרוזת המפורשת עם ערך משאב המחרוזת בהתאם למסווג המשאבים המתאים.
(ברירת מחדל)
android:grantUriPermissions="false"
(ברירת מחדל)
android:forceUriPermissions="false"
כדי להימנע מתוצאות לא צפויות, הספק צריך להגדיר רשות אחת בלבד ב-
android:authorities
.מצהירים על מסנן Intent מבוסס-פעולה,
com.android.car.appcard.APP_CARD_PROVIDER
Extend AppCardContentProvider
בקטע הזה מתוארות שיטות סופיות של override ושל protected.
שיטות לביטול
val authority: String
android:authorities
.fun onCreate(): Boolean
super.onCreate()
. אפשר להשתמש בשיטה הזו כדי להגדיר פונקציונליות שעלולה לגרום לעיכוב אם היא מוגדרת כשמתבצעת בקשה ל-AppCard.val appCardIds: List
fun onAppCardAdded(String, AppCardContext): AppCard
AppCardContext
שמספקים רמזים לגבי אופן ההצגה של כרטיס האפליקציה.
משתמשים בשיטה הזו כדי להגדיר כל פונקציונליות שנדרשת על ידי AppCards שנתמכות כספק. אחרי שמפעילים את הפונקציה הזו, כרטיס האפליקציה שמתאים למזהה שצוין נחשב פעיל.
fun onAppCardRemoved(String)
fun onAppCardContextChanged(String, AppCardContext)
AppCardContext
מעודכן.שיטות סופיות מוגנות
fun sendAppCardUpdate(AppCard)
fun sendAppCardComponentUpdate(String, Component)
EnforceFastUpdateRate
, העדכון נשלח באופן מיידי.שאלות נפוצות
איפה נמצאות ההטמעות לדוגמה?