כדי ליצור 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: Stringandroid:authorities.fun onCreate(): Booleansuper.onCreate(). אפשר להשתמש בשיטה הזו כדי להגדיר פונקציונליות שעלולה לגרום לעיכוב אם היא מוגדרת כשמתבצעת בקשה ל-AppCard.val appCardIds: Listfun onAppCardAdded(String, AppCardContext): AppCardAppCardContext שמספקים רמזים לגבי אופן ההצגה של כרטיס האפליקציה.
משתמשים בשיטה הזו כדי להגדיר כל פונקציונליות שנדרשת על ידי AppCards שנתמכות כספק. אחרי שמפעילים את הפונקציה הזו, כרטיס האפליקציה שמתאים למזהה שצוין נחשב פעיל.
fun onAppCardRemoved(String)fun onAppCardContextChanged(String, AppCardContext)AppCardContextמעודכן.שיטות סופיות מוגנות
fun sendAppCardUpdate(AppCard)fun sendAppCardComponentUpdate(String, Component)EnforceFastUpdateRate, העדכון נשלח באופן מיידי.שאלות נפוצות
איפה נמצאות ההטמעות לדוגמה?