תפקידים ב-Android

תפקיד הוא שם ייחודי במערכת שמשויך להרשאות ולזכויות מסוימות. אפליקציות יכולות לבקש לקבל תפקידים מסוימים דרך Android API, במיוחד על ידי הפעלת שיטות בכיתה RoleManager.

ברשימה הבאה מפורטים התפקידים הזמינים והדרישות התואמות שלהם:

תפקיד דרישות
ASSISTANT לפחות אחת מהאפשרויות הבאות:
  • לאפליקציה יש פעילות שמבצעת פעולות עזרה, על סמך המידע על ההקשר של המשתמש כשביקש את העזרה (לדוגמה, שם החבילה של האפליקציה הנוכחית בחזית והמידע ההקשרי שלה).
  • לאפליקציה יש שירות אינטראקציה קולית שפועל תמיד, שמוגבל על ידי ההרשאה android.permission.BIND_VOICE_INTERACTION. השירות הזה יכול לבצע זיהוי קולי ולתת אירועי אינטראקציה קולית פעילים. בנוסף, באפליקציה יש דגל מפורש שמציין שהשירות מסוגל לטפל בפעולה של העזרה.
AUTOMOTIVE_NAVIGATION כל:
  • באפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות סמויות של כוונה (intent), שמציגה את המיקום הנוכחי והסביבה של המשתמש.
  • באפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות כוונה משתמעות, שמאפשרת למשתמש לנווט למיקום גיאוגרפי ספציפי.
  • לאפליקציה יש פעילות שמופעלת באשכול הכלים כשהיא מחזיקה במיקוד הניווט. הפעילות צריכה להציג את המיקום הנוכחי של המשתמש, את הסביבה שלו ולאפשר לו לנווט למיקום גיאוגרפי ספציפי.
BROWSER כל:
  • באפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות סמויות של כוונה (intent), שמציגות דף אינטרנט שתואם לכתובת http://.
  • האפליקציה צריכה לטפל בניווט בין הקישורים. כלומר, אם המשתמש צופה בדף אינטרנט ולוחץ על כתובת http:// בטקסט, האפליקציה צריכה להיות מסוגלת להציג את התוכן התואם לקישור שנבחר בלי התערבות נוספת של המשתמש.
  • האפליקציה צריכה להיות מסוגלת לספק את המידע הנוכחי על המיקום הגיאוגרפי של המכשיר לדפי אינטרנט כשמתבצעת בקשה והמשתמש מאשר את הבקשה.
CALL_REDIRECTION לאפליקציה יש שירות שמוגדר באמצעות ההרשאה android.permission.BIND_CALL_REDIRECTION_SERVICE, שאפשר לקשר למסגרת התקשורת. השירות מקבל את מספר הטלפון היוצא מסגרת התקשורת ומבצע אחת מהפעולות הבאות:
  • מאפשרים לבצע את השיחה כמו שהיא.
  • שינוי המספר היוצא כך שיעבור דרך מספר שרת proxy.
  • מבטלים את השיחה.
CALL_SCREENING לאפליקציה יש שירות שמוגבל על ידי ההרשאה android.permission.BIND_SCREENING_SERVICE, שמבצע שתי פונקציות:
  • חסימת שיחות וסינון שיחות: השירות יכול לקבוע אילו שיחות יישלחו לאפליקציית החיוג בטלפון (ואולי יישמע צלצול, בהתאם למצב 'נא לא להפריע' או לעוצמת הקול), ואילו שיחות יישלחו לתא הקולי ללא צלצול.
  • זיהוי שיחה: השירות יכול לזהות מידע על שיחה ולהציג אותו דרך ממשק משתמש.
COMPANION_DEVICE_APP_STREAMING כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • החל מגרסה 15 של Android
    כשמקשרים את המכשיר א' למכשיר ב':
    בכל אחד מהמכשירים חייב להיות לפחות חשבון תואם אחד ב-AccountManager, וצריך לאשר את ההתאמה באמצעות קוד חד-פעמי.
    • המשתמש צריך לאשר את הסיסמה של החשבון במכשיר המרוחק המשני בזמן ההתאמה, או
    • הקוד החד-פעמי צריך להופיע במכשיר המקור ולהוזן במכשיר המחובר.
    • אין צורך בטווח במהלך הסטרימינג.

    לחלופין, מכשיר א' ומכשיר ב' חייבים להיות בטווח Bluetooth זה של זה, והסטרימינג צריך להיות מורשה באמצעות קוד חד-פעמי.
    • הקוד החד-פעמי מוצג במכשיר המקור ומוזן במכשיר המחובר.
    • המכשירים צריכים להישאר בטווח ה-Bluetooth זה מזה במהלך הסטרימינג.
  • האפליקציה יכולה ליצור ולנהל ערוצי תקשורת עם מכשירים מחוברים כדי שיוכלו להחליף נתונים. כדי ליצור את ערוצי התקשורת האלה, האפליקציה והמכשירים המחוברים חייבים לבצע אימות הדדי (לדוגמה, על ידי הוכחת הידע שלהם במפתחות משותפים). ערוצי התקשורת חייבים להיות מוגנים בהצפנה.
  • האפליקציה יכולה לשלוח התראות מהמכשיר המקומי למכשיר המחובר כדי לאפשר למשתמש לבצע פעולות לגבי ההתראות במכשיר המחובר.
  • להעביר (לסטרימינג) למכשיר המחובר את המטא-נתונים הנדרשים לסטרימינג של האפליקציות, כמו רשימת האפליקציות הזמינות במכשיר המקומי.
  • להעביר (לסטרימינג) אפליקציות מהמכשיר המקומי למכשיר המחובר אחרי שהמשתמש הצביע על העדפתו לעשות זאת בהסכמה מפורשת (בטלפון או במכשיר המחובר).
  • אפשרות להפעיל מחדש (להחדיר) אירועים שמתרחשים באפליקציה שמשודרת במכשיר מחובר, חזרה במכשיר המקומי. לדוגמה, אפשר להפעיל מחדש אירוע מגע בטאבלט באותן קואורדינטות בטלפון.
  • האפליקציה יכולה להחליף את הסטרימינג של המיקרופון במכשיר המקומי בסטרימינג של המיקרופון במכשיר המחובר, בזמן שאפליקציה בסטרימינג משתמשת במיקרופון.
  • האפליקציה מתעדת אודיו מהמכשיר ומעבירה אותו בסטרימינג למכשיר המחובר.
  • חובה לחסום את שידור המצלמה המקומי של המכשיר בזמן שאפליקציה שמשודרת משתמשת במצלמה.
  • צריך לאמת את תקינות ה-build של מערכת ההפעלה של המכשיר המחובר (לדוגמה, באמצעות אימות המכשיר כמו ב-VerifiedBootState).
  • להעביר בסטרימינג רק אפליקציות שבהן יש רק חשבון תואם אחד במרשם החשבונות במכשיר (לדוגמה, הכיתה AccountManager ב-Android) בשני המכשירים. אם זה לא המצב, צריך לאשר את הסטרימינג באמצעות קוד חד-פעמי שמוצג במכשיר המקור ומוזן במכשיר המחובר. חשוב לזכור שבמכשירים שתומכים בכמה משתמשים (ולא בכמה חשבונות) עם אותה בידוד נתונים מהימן, כמו במכשירי Android עם כמה משתמשים, משתמש נספר כמכשיר.
  • אם תוקף האימות של החשבון במכשיר המחובר יפוג או אם האימות יבוטל, צריך להפסיק את הסטרימינג ולנתק את המכשיר המחובר באופן מיידי.
  • צריך לנתק סשנים פעילים של סטרימינג באפליקציה אם המשתמש לא מבצע פעולה במכשיר המחובר (לדוגמה, המקלדת, המסך המגעי והעכבר לא פעילים) במשך 5 דקות. אפליקציות לווידאו בסטרימינג פטורות מהדרישה הזו.
  • החל מ-Android 15
    צריך לנתק את כל המכשירים הווירטואליים לאחר זמן הקצוב לפעילות במצב חוסר פעילות במכשיר הרחוק שבו תוכן התצוגה גלוי. יכול להיות שהמסך של המכשיר המרוחק יישאר דלוק במקרים כמו WakeLock, שמשאירים את המסך של מכשיר Android דלוק. חייב להיות זמן קצוב לתפוגה של זמן חוסר פעילות. אם למכשיר המרוחק אין זמן קצוב לתפוגה במצב חוסר פעילות, צריך להשתמש בזמן קצוב לתפוגה במצב חוסר פעילות של 5 דקות לכל היותר.
  • אם במכשיר המקור נעשה שימוש בגורם הידע של נעילת המסך (LSKF), כשהמסך נעול, האפליקציה לא יכולה להעביר סטרימינג של אפליקציות למכשיר מחובר, אלא אם למכשיר הזה יש נעילת מסך והיא לא נעולה.
  • אם האדמין מנהל את המכשיר, האפליקציה חייבת לפעול בהתאם למדיניות שהאדמין הגדיר לגבי הפעלה או השבתה של סטרימינג של האפליקציה למכשירים בקרבת מקום (לדוגמה, באמצעות הגדרות DevicePolicyManager ב-Android).
  • צריך לוודא שהמסך המרוחק וכל מקורות האירועים של הקלט מרחוק שייכים לאותו מכשיר לוגי (למשל, מסך מרוחק ומקלדת מחוברת) מנקודת המבט של המשתמש, ושהאירועים מנותבים בהתאם.
  • המשתמש צריך להיות מסוגל לסיים את הסטרימינג מהמכשיר המקומי, למשל באמצעות לחצן בהתראה קבועה. ההתנהגות הזו מוגבלת על ידי מסך הנעילה, אם מוגדרת בטלפון נעילת מסך. החל מגרסה 15 של Android, חובה להציג את האפשרות הזו באופן קבוע במכשיר המקומי, כך שהיא תמיד תהיה גלויה מעל למידע שמופיע במסך הראשון.
  • חייב להופיע סימן במכשיר המקור כשהסטרימינג מתבצע במכשיר אחר, כמו סמל בשורת הסטטוס או התראה קבועה.
COMPANION_DEVICE_COMPUTER כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • אפליקציות שמאפשרות למשתמשים לשקף התראות ולגשת לתמונות ולמדיה מהטלפון במחשב מחובר.
COMPANION_DEVICE_GLASSES האפליקציה יכולה לשלוח בקשות כדי לשייך מכשיר משקפיים ולנהל אותו (באמצעות ה-API שסופק על ידי הכיתה CompanionDeviceManager). כשמכשיר המשקפיים והאפליקציה מחוברים באמצעות ממשק המשתמש ש-CDM מספק, המשתמשים יכולים לנהל את מכשיר המשקפיים על ידי מתן גישה לאנשי הקשר והרשאה לניהול התראות ושיחות טלפון.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • החל מגרסה 15 של Android
    כשמקשרים את המכשיר א' למכשיר ב':
    בכל אחד מהמכשירים חייב להיות לפחות חשבון תואם אחד ב-AccountManager, וצריך לאשר את ההתאמה באמצעות קוד חד-פעמי.
    • המשתמש צריך לאשר את הסיסמה של החשבון במכשיר המרוחק המשני בזמן ההתאמה, או
    • הקוד החד-פעמי צריך להופיע במכשיר המקור ולהוזן במכשיר המחובר.
    • אין צורך בטווח במהלך הסטרימינג.

    לחלופין, מכשיר א' ומכשיר ב' חייבים להיות בטווח Bluetooth זה של זה, והסטרימינג צריך להיות מורשה באמצעות קוד חד-פעמי.
    • הקוד החד-פעמי מוצג במכשיר המקור ומוזן במכשיר המחובר.
    • המכשירים צריכים להישאר בטווח ה-Bluetooth זה מזה במהלך הסטרימינג.
  • האפליקציה יכולה ליצור ולנהל ערוצי תקשורת עם מכשירים מחוברים כדי שהמכשירים יוכלו להחליף נתונים. כדי ליצור את ערוצי התקשורת האלה, האפליקציה והמכשירים המחוברים צריכים לבצע אימות הדדי (למשל, על ידי הוכחת הידע שלהם במפתחות משותפים). ערוצי התקשורת חייבים להיות מוגנים באמצעות הצפנה מקצה לקצה.
  • האפליקציה יכולה לשלוח התראות מהמכשיר המקומי למכשיר המחובר כדי לאפשר למשתמש לבצע פעולות לגבי ההתראות במכשיר המחובר.
  • להעביר (לסטרימינג) למכשיר המחובר את המטא-נתונים הנדרשים לסטרימינג של האפליקציות, כמו רשימת האפליקציות הזמינות במכשיר המקומי.
  • להעביר (לסטרימינג) אפליקציות מהמכשיר המקומי למכשיר המחובר אחרי שהמשתמש הצביע על העדפתו לעשות זאת בהסכמה מפורשת (בטלפון או במכשיר המחובר).
  • אפשרות להפעיל מחדש (להחדיר) אירועים שמתרחשים באפליקציה שמשודרת במכשיר מחובר, חזרה במכשיר המקומי. לדוגמה, אפשר להפעיל מחדש אירוע מגע בטאבלט באותן קואורדינטות שבהן הוא התרחש בטלפון, או להפעיל מחדש אירוע קלט שהתרחש במכשיר המשקפיים עם אותה סמנטיקה של קלט כמו בטלפון.
  • האפליקציה יכולה להחליף את הסטרימינג של המיקרופון במכשיר המקומי בסטרימינג של המיקרופון במכשיר המחובר, בזמן שאפליקציה בסטרימינג משתמשת במיקרופון.
  • האפליקציה מתעדת אודיו מהמכשיר ומעבירה אותו בסטרימינג למכשיר המחובר.
  • צריך לאמת את תקינות ה-build של מערכת ההפעלה של המכשיר המחובר (לדוגמה, באמצעות אימות המכשיר כמו ב-VerifiedBootState).
  • להעביר בסטרימינג רק אפליקציות שבהן יש רק חשבון תואם אחד במרשם החשבונות במכשיר (לדוגמה, הכיתה AccountManager ב-Android) בשני המכשירים. אם זה לא המצב, צריך לאשר את הסטרימינג באמצעות קוד חד-פעמי שמוצג במכשיר המקור ומוזן במכשיר המחובר. חשוב לזכור שבמכשירים שתומכים בכמה משתמשים (ולא בכמה חשבונות) עם אותה בידוד נתונים מהימן, כמו במכשירי Android עם כמה משתמשים, משתמש נספר כמכשיר.
  • אם תוקף האימות של החשבון במכשיר המחובר יפוג או אם האימות יבוטל, צריך להפסיק את הסטרימינג ולנתק את המכשיר המחובר באופן מיידי.
  • אם במכשיר המקור נעשה שימוש ב-LSKF, כשהמסך נעול, האפליקציה לא יכולה להעביר סטרימינג של אפליקציות למכשיר מחובר, אלא אם למכשיר הזה יש מסך נעילה והוא לא נעול.
  • אם האדמין מנהל את המכשיר, האפליקציה חייבת לפעול בהתאם למדיניות שהאדמין הגדיר לגבי הפעלה או השבתה של סטרימינג למכשירים בקרבת מקום (לדוגמה, באמצעות ההגדרות של DevicePolicyManager ב-Android).
  • צריך לוודא שהמסך המרוחק וכל המקורות של אירועי קלט מרחוק שייכים לאותו מכשיר לוגי (למשל, מסך מרוחק ומקלדת מחוברת) מנקודת המבט של המשתמש, ושהאירועים מנותבים בהתאם.
  • המשתמש צריך להיות מסוגל לסיים את הסטרימינג מהמכשיר המקומי, למשל באמצעות לחצן בהתראה קבועה. ההתנהגות הזו מוגבלת על ידי מסך הנעילה, אם מוגדרת בטלפון נעילת מסך.
  • חייב להופיע סימן במכשיר המקור כשהסטרימינג מתבצע במכשיר אחר, כמו סמל בשורת הסטטוס או התראה קבועה.
COMPANION_DEVICE_WATCH האפליקציה יכולה לשלוח בקשות כדי לשייך מכשיר שעון ולנהל אותו (באמצעות ה-API שסופק על ידי הכיתה CompanionDeviceManager). כשהשעון והאפליקציה מחוברים דרך ממשק המשתמש של האפליקציה, המשתמשים יכולים לנהל את השעון דרך האפליקציה, כולל סנכרון של אנשי קשר ותזמון, וניהול של התראות ושיחות טלפון.
DEVICE_POLICY_MANAGEMENT כל:
  • רק יצרני ציוד מקורי יכולים להקצות את התפקיד הזה לאפליקציה. אפליקציות לא יכולות לבקש את התפקיד הזה, כי הוא אמור להוקצה כברירת מחדל לשם החבילה שהוגדר על ידי יצרן הציוד המקורי כשהמכשיר נשלח.
  • האפליקציה צריכה להיות מסוגלת להקצות פרופיל מנוהל (בעלי הפרופיל) או מכשיר מנוהל (בעלי המכשיר), כולל הורדה והתקנה של לקוח מדיניות המכשיר המתאים כדי להיות הבעלים של המכשיר או הפרופיל, אם יש צורך בכך.
  • האפליקציה יכולה לעדכן באופן דינמי משאבים כמו מחרוזות ורכיבי drawable שמשמשים לניהול מדיניות המכשיר.
  • האפליקציה יכולה להיות אפליקציית מערכת מותקנת מראש, או אפליקציה שהורדתם והתקנתם לפני ההקצאה.
  • במקרים של הקצאת הרשאות לבעלים של פרופילים, כשאפליקציית הבעלים של התפקיד מותקנת במשתמש Android מסוים, היא צריכה להיות מותקנת בכל הפרופילים הרלוונטיים של אותו משתמש.
DIALER כל:
  • לאפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות כוונה משתמעת, שמספקת את ממשק המשתמש של השיחה בזמן שהמכשיר נמצא בשיחה.
  • האפליקציה יכולה לטפל בכוונות של שיחות נכנסות, להציג למשתמש את המידע שקשור לשיחה (לדוגמה, מספר הטלפון של מבצע השיחה) ולאפשר למשתמש לענות לשיחה או לדחות אותה.
  • האפליקציה מספקת למשתמש דרך ליזום שיחות ולראות את היסטוריית השיחות במכשיר.
EMERGENCY כל:
  • האפליקציה היא אפליקציית מערכת.
  • באפליקציה יש פעילות שמציגה את פרטי החירום של המשתמש. כל אחד יכול לנווט למסך הזה באמצעות לחצן החירום בפעילות של חייגן החירום.
HOME באפליקציה יש פעילות שיכולה להפעיל את מסך הבית כשהמשתמש לוחץ על הלחצן הראשי. במסך הבית אמורים להופיע סמלי אפליקציות, ווידג'טים ותמיכה בניווט באמצעות לחצנים או תנועות (לדוגמה, החלקה למעלה כדי לראות את כל האפליקציות).
NOTES כל:
  • באפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות סמויות ל-Intent. הפעילות הזו מאפשרת למשתמש ליצור הערה גם אם המסך נעול וגם אם הוא לא נעול.
  • כדי לתמוך בכך, האפליקציה צריכה לכלול פעילות עם מסנן Intent ל-android.intent.action.CREATE_NOTE עם הקטגוריה android.intent.category.DEFAULT. בנוסף, הפעילות צריכה לטפל כראוי ב-intent extra‏ android.intent.extra.USE_STYLUS_MODE.
  • צריך להגדיר את הערך true למאפייני המניפסט showWhenLocked ו-turnScreenOn באפליקציה.
SMS כל:
  • האפליקציה עומדת בכל הדרישות לאפליקציות SMS.
  • לאפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות כוונה משתמעת, שיכולות לשלוח הודעה למספר טלפון.
  • לאפליקציה יש שירות שמוגבל על ידי ההרשאה android.permission.SEND_RESPOND_VIA_MESSAGE, שאפשר להפעיל באמצעות כוונות משתמשים מרומזות. השירות הזה יכול לשלוח הודעות שנשלחות מאפליקציית 'טלפון' כשהמשתמש בוחר להשיב באמצעות הודעה במהלך שיחה נכנסת. האפליקציה יכולה לשלוח הודעות באמצעות מערכת ההודעות שלה.
  • לאפליקציה יש שני מקלטי שידור, אחד עם הרשאה android.permission.BROADCAST_SMS והשני עם הרשאה android.permission.BROADCAST_WAP_PUSH, שיכולים להאזין להודעות SMS ו-MMS מבוססות-טקסט שנשלחות למכשיר, בהתאמה. לאחר מכן האפליקציה אחראית לכתוב את ההודעות לספק ה-SMS ולעדכן את המשתמשים.
SYSTEM_ACTIVITY_RECOGNIZER כל:
  • האפליקציה היא אפליקציית מערכת.
  • לאפליקציה יש שירות שמוגבל על ידי android.permission.ACTIVITY_RECOGNITION, שיכול לבצע זיהוי פעילות (לדוגמה, ריצה או רכיבה על אופניים).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE כל:
  • זהים לתנאים של SYSTEM_UI_INTELLIGENCE, מלבד העובדה שהשירות המובנה מספק מעבד חכם במכשיר לצורך אודיו סביבתי (לדוגמה, זיהוי שירים שמושמעים ליד המכשיר).
SYSTEM_APP_PROTECTION_SERVICE כל:
  • האפליקציה היא אפליקציית מערכת.
  • המטרה היחידה של האפליקציה היא לזהות אפליקציות שעלולות להזיק (אפליקציות שעלולות לסכן משתמשים, נתוני משתמשים או מכשירים, כמו אפליקציות טרויאניות, פישינג ותוכנות ריגול) או תוכנה לא רצויה לנייד.
  • האפליקציה חייבת לעמוד בכל הדרישות שמפורטות בקטע 9.8.6 ב-CDD של Android. נתונים ברמת מערכת ההפעלה ונתונים סביבתיים.
  • אסור לאפליקציה להצהיר על ההרשאה הרגילה android.permission.INTERNET. במקום זאת, הוא צריך לגשת לאינטרנט דרך ממשקי API מוגדרים היטב בפרויקט בקוד פתוח.
  • אסור לאפליקציה להתחבר לאפליקציות, מלבד לאפליקציות המערכת הבאות: Permission Controller ורכיבים שמספקים ממשקי API של טלפוניה ואינטרנט. צריך להגדיר כל קישור מותאם באופן מפורש דרך ההגדרה של <allow-association> בתצורת המערכת.
  • אסור לאפליקציה לשתף נתונים עם אפליקציות אחרות, אלא אם המשתמש מבצע פעולה ישירה (למשל, המשתמש לוחץ במפורש על לחצן בכל פעם שהנתונים משותפים).
SYSTEM_AUDIO_INTELLIGENCE כל:
  • זהים לתנאים של SYSTEM_UI_INTELLIGENCE, מלבד העובדה שהשירות המובנה מספק מעבד אודיו חכם במכשיר (לדוגמה, כתוביות לסרטונים, לפודקאסטים, לשיחות טלפון, לשיחות וידאו ולהודעות אודיו).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • האפליקציה צריכה להעביר את נתוני היומן מטלפון iOS או Android של המשתמש למכשיר Android Auto. נתוני היומן האלה צריכים להיות מאוחסנים בספק היומן במכשיר Android Auto.
  • האפליקציה צריכה לספק רכיב של ממשק משתמש בטלפון, שבו המשתמש יכול להפעיל את סנכרון לוח השנה ולבחור את לוחות השנה שרוצים לסנכרן. האפליקציה חייבת לספק רכיב של ממשק משתמש בטלפון, שבו המשתמש יכול להשתמש כדי להשבית את סנכרון היומן.
  • האפליקציה אמורה לפעול ללא חיבור לאינטרנט. לדוגמה, באמצעות חיבורים ישירים חוטיים או אלחוטיים.
SYSTEM_AUTOMOTIVE_CLUSTER כל:
  • האפליקציה היא אפליקציית מערכת ב-Automotive.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • האפליקציה מספקת יכולת להציג באשכול הרכב (בדרך כלל ליד ההגה) כדי שמשתמשים יוכלו לענות לשיחות טלפון ולגשת לרשימות אנשי הקשר וליומני השיחות.
SYSTEM_AUTOMOTIVE_PROJECTION כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • האפליקציה מאפשרת להקרין את מסך הטלפון במסך הרכב. היא מאפשרת לנהגים לגשת לאפליקציות בטלפונים עם Android ולשלוט בהן, כולל מוזיקה, ניווט, שיחות טלפון וחיפוש, באמצעות מנגנוני קלט ברכב, כולל מגע, פקדים על ההגה ופקודות קוליות.
SYSTEM_COMPANION_DEVICE_PROVIDER כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • האפליקציה צריכה להיות מסוגלת לזהות ציוד היקפי בסביבתה. צריך להיות לה ממשק משתמש שבו המשתמש יכול לאשר שציוד היקפי מסוים צריך להיות משויך לאפליקציה מסוימת, ושהיא מנהלת אותו. כשהמשתמש מאשר, האפליקציה המנהלת מעניקה לאפליקציה המשויכת הרשאה לגשת לציוד ההיקפי (לדוגמה, השם, הכתובת, הכיתה ומצב הקישור שלו), והיא יכולה להתחיל את תהליך הקישור.
SYSTEM_CONTACTS כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • האפליקציה מספקת ממשק משתמש שמאפשר למשתמשים לנהל את אנשי הקשר שלהם (לדוגמה, להציג, לשתף, להוסיף, להסיר או לחפש איש קשר). האפליקציה מעדכנת את ספק אנשי הקשר כשהמשתמש מעדכן את אנשי הקשר שלו מהאפליקציה. המשתמשים יכולים גם להתקשר, לשלוח אימייל או הודעות טקסט לאנשי הקשר שלהם מהאפליקציה.
SYSTEM_DOCUMENT_MANAGER כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • באפליקציה יש פעילות שמאפשרת למשתמשים לגשת למסמכים קיימים וליצור מסמכים חדשים במכשיר.
  • האפליקציה חייבת לעמוד בכל הדרישות שמפורטות בקטע 2.2.3 ב-CDD של Android. תוכנה בקטע [3.2.3.1/H-0-1].
SYSTEM_GALLERY כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • האפליקציה מספקת ממשק משתמש שמאפשר למשתמשים לאחסן, לארגן ולהציג את התמונות והסרטונים שלהם.
SYSTEM_NOTIFICATION_INTELLIGENCE כל:
  • זהים לתנאים של SYSTEM_UI_INTELLIGENCE, מלבד העובדה שהשירות המובנה מספק מעבד חכם במכשיר לצורך התראות (לדוגמה, הצעות לתשובות ולפעולות להתראות על הודעות).
SYSTEM_SETTINGS_INTELLIGENCE לפחות אחת מהאפשרויות הבאות:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • יש לו שירות שמספק תכונות בינה לאפליקציית ההגדרות, כמו הצעות וחיפוש.
SYSTEM_SHELL כל:
  • האפליקציה היא אפליקציית מערכת שמוקצה לה המזהה הייחודי Process.SHELL_UID.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • האפליקציה מספקת ממשק שפועל ברמת שורת הפקודה, כדי שמשתמשים יוכלו לתקשר עם מערכת ההפעלה Android. לדוגמה, הצגת התוכן של תיקייה או הפעלת אפליקציות. אפליקציות יכולות להריץ פקודות מעטפת באופן פרוגרמטי (אם הוקצו להן ההרשאות הנדרשות) או באמצעות הכלי ADB.
SYSTEM_SPEECH_RECOGNIZER כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • האפליקציה מספקת שירות שיכול לבצע זיהוי דיבור.
  • כשהאפליקציה מקבלת מיקרופון בשידור חי מאפליקציה אחרת לצורך זיהוי דיבור, היא משייכת בצורה נכונה את השימוש במיקרופון לאפליקציה שבה מתבצעת השיחה ומעדכנת את הנתונים הסטטיסטיים של פעולת האפליקציה בהתאם.
SYSTEM_TELEVISION_NOTIFICATION_HANDLER כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • האפליקציה חייבת להציג התראות מראש למשתמשים במכשירי טלוויזיה. האפליקציה צריכה גם להציג את ההתראות הפעילות הנוכחיות כשהכוונה android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL נשלחת (מ-SystemUI).
SYSTEM_TELEVISION_REMOTE_SERVICE כל:
  • האפליקציה היא אפליקציית מערכת ב-Android TV.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • לאפליקציה יש שירות שיכול לתקשר עם מכשיר ה-HID של השלט הרחוק של הטלוויזיה (לדוגמה, דרך BLE), להחדיר אירועים (לדוגמה, לחיצות על לחצנים) ולשלוח נתונים אחרים (לדוגמה, שידור אודיו ממיקרופון מובנה בשלט הרחוק) לפלטפורמה.
SYSTEM_TEXT_INTELLIGENCE כל:
  • זהים לתנאים של SYSTEM_UI_INTELLIGENCE, מלבד העובדה שהשירות המובנה מספק מעבד טקסט חכם במכשיר (לדוגמה, מתן תרגום בזמן אמת או מילוי אוטומטי).
SYSTEM_UI כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • לאפליקציה יש ממשק שמאפשר למשתמשים לבצע פעולות בטלפון. לדוגמה, המסך הראשי של הטלפון, הניווט, האפליקציות האחרונות, ההגדרות המהירות, סרגל ההתראות, מסך הנעילה, בקרת עוצמת הקול.
SYSTEM_UI_INTELLIGENCE כל:
  • שירות מותקן מראש שמספק מעבד חכם במכשיר, באמצעות ממשקי API של מסגרות (ממשקי API ציבוריים או של מערכת), לתכונות של ממשק המשתמש של המערכת (לדוגמה, חיזוי האפליקציות הבאות של המשתמשים והצגתן).
  • השירות חייב לעמוד בכל הדרישות שמפורטות בקטע 9.8.6 תיעוד תוכן ב-CDD של Android.
  • לשירות לא יכולה להיות ההרשאה android.permission.INTERNET. במקום זאת, הוא צריך לגשת לאינטרנט דרך ממשקי API מוגדרים היטב בפרויקט בקוד פתוח.
  • השירות לא יכול להתחבר לאפליקציות, מלבד לאפליקציות המערכת הבאות: Bluetooth,‏ אנשי קשר, מדיה, טלפוניה, SystemUI ורכיבים שמספקים ממשקי API לאינטרנט. צריך להגדיר כל קישור מותאם באופן מפורש באמצעות ההגדרה <allow-association> בהגדרות המערכת.
  • השירות לא יכול לשתף נתונים עם אפליקציות אלא אם יש פעולה ישירה של המשתמש (לדוגמה, המשתמש לוחץ על לחצן באופן מפורש בכל פעם שהנתונים משותפים).
SYSTEM_VISUAL_INTELLIGENCE כל:
  • זהים לתנאים של SYSTEM_UI_INTELLIGENCE, מלבד העובדה שהשירות המובנה מספק מעבד חכם במכשיר לתכונות חזותיות שכוללות ניתוח של נתוני המצלמה. לדוגמה, שמירה על המסך של הטלפון פעיל בזמן שהמשתמש מביט בו, או קביעת כיוון המסך האידיאלי על סמך כיוון הפנים של המשתמש מהמצלמה הקדמית במכשיר.
SYSTEM_WELLBEING כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • האפליקציה צריכה לספק למשתמשים אפשרות לצמצם את הסחות הדעת ולספק להם נתונים סטטיסטיים על אופן השימוש שלהם במכשיר (לדוגמה, משך הזמן שהם מבלים מול המסך בשבוע).
SYSTEM_WIFI_COEX_MANAGER כל:
  • האפליקציה היא אפליקציית מערכת.
  • רק יצרני ציוד מקורי (OEM) יכולים להקצות את התפקיד הזה לאפליקציה.
  • באפליקציה יש שירות שמגדיר באופן דינמי רשימה של ערוצי Wi-Fi שהמכשיר צריך להימנע משימוש בהם בגלל הפרעות של רשתות סלולר.
WALLET אחת מהאפשרויות הבאות:
  • באפליקציה יש שירות NFC APDU שמירשם באופן סטטי לפחות AID אחד בקטגוריה PAYMENT.
  • האפליקציה מיישמת מופע של QuickAccessWalletService.