יצירת כרטיס אפליקציה

כדי ליצור AppCard, האפליקציה צריכה ליצור ספק במניפסט שמרחיב את AppCardContentProvider. ה-AppCardContentProvider מסתיר את הפרטים הבסיסיים כדי להקל על יצירת כרטיסי אפליקציה.

הצהרה במניפסט

כדי ליצור AppCard, האפליקציה צריכה ליצור ספק במניפסט כדי להרחיב את 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

אפשר להגדיר רק ספק אחד לכל חבילה, עם המאפיינים הבאים:

  • 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
This method must call super.onCreate(). אפשר להשתמש בשיטה הזו כדי להגדיר פונקציונליות שעלולה לגרום לעיכוב אם היא מוגדרת כשמתבצעת בקשה ל-AppCard.

val appCardIds: List
אפשר להשתמש בשיטה הזו כדי להחזיר את רשימת מזהי כרטיסי האפליקציה הנתמכים. מומלץ להשתמש במזהה מפורט, כי המחרוזת הזו משמשת לרישום שגיאות ביומן.

fun onAppCardAdded(String, AppCardContext): AppCard
המערכת קוראת לשיטה הזו כשכרטיס האפליקציה מוצג בפעם הראשונה, והיא מספקת את המזהה שקשור לכרטיס האפליקציה ואת AppCardContext שמספקים רמזים לגבי אופן ההצגה של כרטיס האפליקציה.

משתמשים בשיטה הזו כדי להגדיר כל פונקציונליות שנדרשת על ידי AppCards שנתמכות כספק. אחרי שמפעילים את הפונקציה הזו, כרטיס האפליקציה שמתאים למזהה שצוין נחשב פעיל.

fun onAppCardRemoved(String)
המערכת קוראת לשיטה הזו כשלא מוצגים למשתמש מקרים נוספים של AppCard, והיא מטפלת בכל הניקוי. כשקוראים לפונקציה הזו, כרטיס האפליקציה שמתאים למזהה שצוין נחשב לא פעיל
.

fun onAppCardContextChanged(String, AppCardContext)
השיטה הזו מופעלת כשהמערכת רוצה לעדכן את אופן ההצגה של כרטיס אפליקציה ושולחת AppCardContextמעודכן.

שיטות סופיות מוגנות

fun sendAppCardUpdate(AppCard)
מפעילים את השיטה הזו כדי להוסיף עדכון לתור של כרטיס אפליקציה פעיל.

fun sendAppCardComponentUpdate(String, Component)
מפעילים את השיטה הזו כדי להוסיף לעדכון רכיב בתצוגה פעילה של כרטיס אפליקציה. אם הרכיב שצוין מתויג בתג EnforceFastUpdateRate, העדכון נשלח באופן מיידי.

שאלות נפוצות

איפה נמצאות ההטמעות לדוגמה?