תפקידים ב-Android

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

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

תפקיד דרישות
ASSISTANT לפחות אחד מהבאים:
  • באפליקציה יש Activity שמבצעת פעולות עזרה, בהתאם למידע על ההקשר של המשתמש כשהוא ביקש עזרה (לדוגמה, שם החבילה של האפליקציה שפועלת בחזית והמידע שקשור אליה).
  • לאפליקציה יש שירות אינטראקציה קולית שפועל כל הזמן, שמוגבל על ידי ההרשאה android.permission.BIND_VOICE_INTERACTION. השירות יכול לבצע זיהוי דיבור ולארח סשנים פעילים של אינטראקציה קולית. בנוסף, באפליקציה יש דגל מפורש שמציין שהשירות יכול לטפל בפעולת הסיוע.
BROWSER כל התנאים הבאים:
  • באפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות Intent מרומזות, שמציגות דף אינטרנט שתואם לכתובת http://.
  • האפליקציה צריכה לטפל בניווט בין קישורים. כלומר, אם המשתמש צופה בדף אינטרנט ולוחץ על כתובת http:// בטקסט, האפליקציה צריכה להיות מסוגלת להציג את התוכן שתואם לקישור שנבחר בלי התערבות נוספת של המשתמש.
  • האפליקציה צריכה להיות מסוגלת לספק לדפי אינטרנט את המידע הנוכחי על המיקום הגיאוגרפי של המכשיר, כשהיא מתבקשת לעשות זאת והמשתמש מאשר את הבקשה.
DIALER כל התנאים הבאים:
  • באפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות כוונה משתמעות, שמספקת את ממשק המשתמש של השיחה הנכנסת כשהמכשיר נמצא בשיחה.
  • האפליקציה יכולה לטפל ב-intent של שיחות נכנסות, להציג למשתמש את המידע שקשור לשיחה (לדוגמה, מספר הטלפון של המתקשר) ולאפשר למשתמש לענות לשיחה או לדחות אותה.
  • האפליקציה מספקת למשתמשים דרך להתחיל שיחות ולראות את היסטוריית השיחות במכשיר שלהם.
SMS כל התנאים הבאים:
  • האפליקציה עומדת בכל הדרישות לגבי אפליקציות סמס.
  • באפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות של כוונה משתמעת, שיכולות לשלוח הודעה למספר טלפון.
  • באפליקציה יש שירות שמוגבל על ידי ההרשאה android.permission.SEND_RESPOND_VIA_MESSAGE וניתן להפעיל אותו באמצעות כוונות משתמעות, שיכולות להעביר הודעות שהתקבלו מאפליקציית "טלפון" כשהמשתמש בוחר להשיב באמצעות הודעה במהלך שיחה נכנסת. האפליקציה יכולה להעביר הודעות דרך מערכת ההודעות שלה.
  • לאפליקציה יש שני מקלטי שידור, אחד שמוגבל על ידי ההרשאה android.permission.BROADCAST_SMS ואחד שמוגבל על ידי ההרשאה android.permission.BROADCAST_WAP_PUSH, שיכולים להאזין להודעות SMS ו-MMS מבוססות-טקסט שנשלחות למכשיר, בהתאמה. האפליקציה אחראית לכתוב את ההודעות לספק ה-SMS ולהודיע למשתמשים.
EMERGENCY כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • באפליקציה יש פעילות שמציגה את המידע למקרה חירום של המשתמש. כל אחד יכול לנווט למסך הזה באמצעות כפתור החירום בפעילות של חייגן החירום.
HOME האפליקציה כוללת פעילות שיכולה להפעיל את מסך הבית כשהמשתמש לוחץ על כפתור הבית. במסך הבית צריכים להופיע ווידג'טים וסמלי אפליקציות, וצריכה להיות אפשרות לנווט באמצעות כפתורים או תנועות (לדוגמה, החלקה למעלה כדי לראות את כל האפליקציות).
CALL_REDIRECTION לאפליקציה יש שירות שמוגבל על ידי ההרשאה android.permission.BIND_CALL_REDIRECTION_SERVICE, שאליו מסגרת הטלקום יכולה להתחבר. השירות מקבל את מספר הטלפון של השיחה היוצאת ממסגרת הטלקום ומבצע אחת מהפעולות הבאות:
  • לאפשר את ביצוע השיחה כמו שהיא.
  • לשנות את המספר לשיחות יוצאות כדי לנתב אותן דרך מספר פרוקסי.
  • ביטול השיחה.
CALL_SCREENING באפליקציה יש שירות שמוגבל על ידי ההרשאה android.permission.BIND_SCREENING_SERVICE, שמבצע שתי פונקציות:
  • חסימה וסינון של שיחות: השירות יכול לבחור אילו שיחות יועברו לאפליקציית החייגן בטלפון (ואולי יגרמו לצלצול, בהתאם להגדרות של מצב "נא לא להפריע" או עוצמת הקול), ואילו שיחות יועברו לתא הקולי בלי להשמיע צליל.
  • זיהוי שיחות: השירות יכול לזהות שיחות ולהציג מידע עליהן בממשק משתמש.
SUPERVISION כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת או שירות שמותקן מראש.
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • המטרה היחידה של האפליקציה היא לאפשר להורה או לאפוטרופוס החוקי של המשתמש לנהל את המכשיר.
  • האפליקציה חייבת לספק רכיב ממשק משתמש במכשיר, שבו המשתמש המורשה יכול להשתמש כדי להשבית את תפקיד הפיקוח.
SYSTEM_AUTOMOTIVE_CLUSTER כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת ב-Automotive.
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • האפליקציה מספקת יכולת להציג לוח מחוונים לרכב (בדרך כלל ליד ההגה) כדי שהמשתמשים יוכלו לענות לשיחות טלפון ולגשת לרשימות של אנשי קשר וליומני שיחות.
COMPANION_DEVICE_WATCH האפליקציה יכולה לשלוח בקשות לשיוך לשעון ולניהול שלו (באמצעות ה-API שסופק על ידי המחלקה CompanionDeviceManager). כשהשעון והאפליקציה מחוברים דרך ממשק המשתמש של האפליקציה, המשתמשים יכולים לנהל את השעון מהאפליקציה, כולל סנכרון של אנשי הקשר והיומן, וניהול של ההתראות ושיחות הטלפון.
SYSTEM_AUTOMOTIVE_PROJECTION כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • האפליקציה מאפשרת להקרין את מסך הטלפון על המסך ברכב. היא מאפשרת לנהגים לגשת לאפליקציות בטלפונים עם Android ולשלוט בהן, כולל מוזיקה, ניווט, שיחות טלפון וחיפוש, באמצעות מנגנוני קלט ברכב, כולל מגע, פקדים בהגה ופקודות קוליות.
SYSTEM_SHELL כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת שמוקצה לה המזהה הייחודי Process.SHELL_UID.
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • האפליקציה מספקת ממשק שפועל ברמת שורת הפקודה, כדי שהמשתמשים יוכלו לתקשר עם Android OS. לדוגמה, הצגת התוכן של תיקייה או הפעלת אפליקציות. אפליקציות יכולות להריץ פקודות מעטפת באופן פרוגרמטי (אם ניתנו ההרשאות הנדרשות), או מכלי ADB.
SYSTEM_CONTACTS כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • האפליקציה מספקת ממשק משתמש שמאפשר למשתמשים לנהל את אנשי הקשר שלהם (לדוגמה, להציג, לשתף, להוסיף, להסיר או לחפש איש קשר). האפליקציה מעדכנת את ספק אנשי הקשר כשהמשתמש מעדכן את אנשי הקשר שלו מהאפליקציה. המשתמשים יכולים גם להתקשר, לשלוח אימייל או הודעות טקסט לאנשי הקשר שלהם מהאפליקציה.
SYSTEM_SPEECH_RECOGNIZER כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • האפליקציה מספקת שירות שיכול לבצע זיהוי דיבור.
  • כשהאפליקציה מקבלת שידורי מיקרופון בזמן אמת מאפליקציה אחרת לצורך זיהוי דיבור, היא משייכת בצורה נכונה את השימוש במיקרופון לאפליקציה שביצעה את הקריאה ומעדכנת את הנתונים הסטטיסטיים של פעולת האפליקציה בהתאם.
SYSTEM_WIFI_COEX_MANAGER כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • באפליקציה יש שירות שמגדיר באופן דינמי רשימה של ערוצי Wi-Fi שהמכשיר צריך להימנע משימוש בהם בגלל הפרעות סלולריות.
SYSTEM_WELLBEING כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • האפליקציה צריכה לספק למשתמשים את היכולת להפחית את הסחות הדעת ולתת למשתמשים נתונים סטטיסטיים לגבי אופן השימוש שלהם במכשיר (לדוגמה, זמן המסך שלהם בשבוע).
SYSTEM_TELEVISION_NOTIFICATION_HANDLER כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • האפליקציה חייבת להציג התראות "שימו לב" למשתמשים במכשירי טלוויזיה. האפליקציה צריכה גם להציג התראות פעילות כרגע כש-Intent של android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL נשלח (מ-SystemUI).
SYSTEM_COMPANION_DEVICE_PROVIDER כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • האפליקציה צריכה להיות מסוגלת לזהות ציוד היקפי בסביבה שלה. צריך להיות לו ממשק משתמש שבו המשתמש יכול לאשר שציוד היקפי מסוים צריך להיות משויך לאפליקציה ומנוהל על ידה. כשהמשתמש מאשר, האפליקציה המנהלת מעניקה לאפליקציה המשויכת הרשאה לגשת לציוד ההיקפי (לדוגמה, השם, הכתובת, הסיווג ומצב הקישור שלו) והיא יכולה להתחיל את תהליך הקישור.
SYSTEM_DOCUMENT_MANAGER כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • האפליקציה כוללת פעילות שמאפשרת למשתמשים לגשת למסמכים קיימים וליצור מסמכים חדשים במכשיר.
  • האפליקציה צריכה לעמוד בכל הדרישות שמפורטות בסעיף 2.2.3 במסמך הגדרת התאימות (CDD) של Android. תוכנה בכותרת [3.2.3.1/H-0-1].
SYSTEM_ACTIVITY_RECOGNIZER כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • באפליקציה יש שירות שמוגבל על ידי android.permission.ACTIVITY_RECOGNITION, שיכול לזהות פעילות (לדוגמה, ריצה או רכיבה על אופניים).
SYSTEM_UI כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • לאפליקציה יש ממשק שמאפשר למשתמשים לבצע אינטראקציה עם הטלפונים שלהם. לדוגמה, המסך הראשי של הטלפון, הניווט, האפליקציות האחרונות, ההגדרות המהירות, סרגל ההתראות, מסך הנעילה, בקרת עוצמת הקול.
SYSTEM_TELEVISION_REMOTE_SERVICE כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת ב-Android TV.
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • לאפליקציה יש שירות שיכול לתקשר עם מכשיר הממשק האנושי (HID) של שלט הטלוויזיה (לדוגמה, דרך BLE), להוסיף אירועים (לדוגמה, לחיצות על כפתורים) ולשלוח נתונים אחרים (לדוגמה, שידור אודיו ממיקרופון מובנה בשלט) לפלטפורמה.
SYSTEM_UI_INTELLIGENCE כל התנאים הבאים:
  • שירות שמותקן מראש ומספק, באמצעות ממשקי API של מסגרת (ממשקי API ציבוריים או של המערכת), מעבד חכם במכשיר לתכונות של ממשק המשתמש של המערכת (לדוגמה, חיזוי והצגה של האפליקציות הבאות למשתמשים).
  • השירות חייב לעמוד בכל הדרישות שמפורטות בסעיף 9.8.6 Content Capture במסמך הגדרת התאימות (CDD) של Android.
  • לשירות לא יכולה להיות ההרשאה android.permission.INTERNET. במקום זאת, היא צריכה לגשת לאינטרנט דרך ממשקי API מוגדרים היטב בפרויקט קוד פתוח.
  • השירות לא יכול להתחבר לאפליקציות, חוץ מאפליקציות המערכת הבאות: Bluetooth, אנשי קשר, מדיה, טלפוניה, SystemUI ורכיבים שמספקים ממשקי API לאינטרנט. צריך להגדיר כל קישור מותר באופן מפורש באמצעות ההגדרה <allow-association> בהגדרות המערכת.
  • השירות לא יכול לשתף נתונים עם אפליקציות, אלא אם המשתמש מבצע פעולה ישירה (לדוגמה, המשתמש לוחץ באופן מפורש על כפתור בכל פעם שהנתונים משותפים).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE כל התנאים הבאים:
  • זהה לתנאים של SYSTEM_UI_INTELLIGENCE, חוץ מזה שהשירות שמותקן מראש מספק מעבד חכם במכשיר לאודיו סביבתי (לדוגמה, זיהוי שירים שמושמעים ליד המכשיר).
SYSTEM_AUDIO_INTELLIGENCE כל התנאים הבאים:
  • התנאים זהים לתנאים של SYSTEM_UI_INTELLIGENCE, אבל השירות שמותקן מראש מספק מעבד חכם במכשיר לאודיו (לדוגמה, הוספת כתוביות לסרטונים, לפודקאסטים, לשיחות טלפון, לשיחות וידאו ולהודעות קוליות).
SYSTEM_NOTIFICATION_INTELLIGENCE כל התנאים הבאים:
  • זהה לתנאים של SYSTEM_UI_INTELLIGENCE, אבל השירות שמותקן מראש מספק מעבד חכם במכשיר להתראות (לדוגמה, הצעת תשובות ופעולות להתראות על הודעות).
SYSTEM_TEXT_INTELLIGENCE כל התנאים הבאים:
  • זהה לתנאים של SYSTEM_UI_INTELLIGENCE, חוץ מזה שהשירות שמותקן מראש מספק מעבד חכם במכשיר לטקסט (לדוגמה, מספק תרגום בזמן אמת או מילוי אוטומטי).
SYSTEM_VISUAL_INTELLIGENCE כל התנאים הבאים:
  • זהה לתנאים של SYSTEM_UI_INTELLIGENCE, אבל השירות שמותקן מראש מספק מעבד חכם במכשיר לתכונות חזותיות שכוללות ניתוח של נתוני המצלמה. לדוגמה, השארת המסך של הטלפון פועל בזמן שהמשתמש מסתכל עליו, או קביעת הכיוון האידיאלי של המסך על סמך כיוון הפנים של המשתמש, באמצעות המצלמה הקדמית במכשיר.
COMPANION_DEVICE_APP_STREAMING כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • תרחישי שימוש מותרים:
    • סטרימינג, העברה (cast) או שיקוף של אפליקציות שמאפשרות סטרימינג, העברה או שיקוף ממכשיר Android כמו טלפון נייד או טאבלט למחשב שולחני או למחשב נייד.
  • כשיוצרים את החיבור הראשוני ממכשיר א' למכשיר ב':
    • כדי להתאים בין המכשירים, צריך לאשר את ההתאמה באמצעות קוד חד-פעמי שמוצג במכשיר המקור (A) ומוזן במכשיר המחובר (B). לחלופין, אם בשני המכשירים יש לפחות חשבון אחד תואם ב-Android AccountManager, המשתמש יכול לאשר את ההתאמה על ידי הזנת הסיסמה לחשבון במכשיר המחובר (B).
    • שני המכשירים צריכים להיות קרובים 1 זה לזה במהלך ההתאמה.
  • שני המכשירים צריכים להיות קרובים 1 זה לזה בזמן הסטרימינג.
  • האפליקציה יכולה ליצור ולנהל ערוצי תקשורת עם מכשירים מחוברים כדי שהמכשירים יוכלו להחליף נתונים. כדי להגדיר את ערוצי התקשורת האלה, האפליקציה והמכשירים המחוברים חייבים לאמת זה את זה בהצלחה (לדוגמה, על ידי הוכחת הידע שלהם לגבי מפתחות משותפים). ערוצי התקשורת חייבים להיות מוגנים באמצעות הצפנה מקצה לקצה.
  • האפליקציה יכולה לשלוח התראות ממכשיר המקור (A) למכשיר המחובר (B) כדי לאפשר למשתמש לבצע פעולות בהתראות במכשיר המחובר (B).
  • יכולת להעביר בסטרימינג את המטא-נתונים שנדרשים לסטרימינג של האפליקציה למכשיר המחובר (B), כמו רשימת האפליקציות שזמינות במכשיר המקור (A).
  • להיות מסוגל להעביר אפליקציות בסטרימינג ממכשיר המקור (A) למכשיר המחובר (B) אחרי שהמשתמש ציין את ההעדפה שלו לעשות זאת בהסכמה מפורשת (במכשיר המקור (A) או במכשיר המחובר (B)).
  • להפעיל מחדש (להזריק) אירועים שמתרחשים באפליקציה בסטרימינג במכשיר המחובר (B) בחזרה במכשיר המקור (A). לדוגמה, הפעלה מחדש של אירוע מגע במכשיר המחובר (B) באותן קואורדינטות כמו במכשיר המקור (A), או הפעלה מחדש של אירוע קלט שהתרחש במכשיר המחובר (B) עם אותה סמנטיקה של קלט כמו במכשיר המקור (A).
  • האפליקציה יכולה להחליף את מקור הסטרימינג של המיקרופון במכשיר המקור במקור הסטרימינג של המיקרופון במכשיר המחובר, בזמן שאפליקציית סטרימינג משתמשת במיקרופון.
  • האפליקציה מקליטה אודיו ממכשיר המקור (A) ומעבירה אותו בסטרימינג למכשיר המחובר (B).
  • מומלץ לחסום את הגישה לאפליקציות של הגדרות ולחנויות אפליקציות מהמכשיר המחובר (B).
  • החל מ-Android 16, חובה למנוע צילום מסך וקריאת מסך של תוכן רגיש, כמו חלונות ומשטחים מאובטחים, במכשיר המחובר (B).
  • חייבת לאמת את התקינות של גרסת ה-OS של המכשיר המחובר (לדוגמה, באמצעות אימות המכשיר כמו ב-VerifiedBootState).
  • אפשר להעביר בסטרימינג רק אפליקציות שיש להן חשבון תואם אחד בלבד ברישום החשבונות במכשיר (לדוגמה, המחלקה AccountManager ב-Android) בשני המכשירים. אם זה לא המצב, חובה לאשר את הסטרימינג באמצעות קוד חד-פעמי שמוצג במכשיר המקור (A) ומוזן במכשיר המחובר (B). שימו לב: במכשירים שתומכים בכמה משתמשים (ולא בכמה חשבונות) עם אותו בידוד נתונים אמין כמו במכשיר Android עם כמה משתמשים, משתמש נספר כמכשיר.
  • חייב להפסיק את הסטרימינג ולהתנתק מהמכשיר המחובר (B) באופן מיידי אם פג התוקף של האימות של החשבון במכשיר המחובר (B) או אם האימות בוטל.
  • חייב להפסיק את הסטרימינג ולהתנתק מהמכשיר המחובר (B) כשהמכשיר המחובר (B) שבו התוכן מוצג עובר למצב חוסר פעילות. יכול להיות שהמסך של המכשיר המחובר יישאר דולק במקרים כמו WakeLock, שבהם המסך של מכשיר Android נשאר דולק. חובה להגדיר זמן קצוב לתפוגה של חוסר פעילות. אם למכשיר המחובר (B) אין זמן קצוב לתפוגה במצב חוסר פעילות, חובה להשתמש בזמן קצוב לתפוגה במצב חוסר פעילות של 5 דקות לכל היותר.
  • אם במכשיר המקור (A) נעשה שימוש ב-Lockscreen Knowledge Factor‏ (LSKF), כשהמסך נעול, האפליקציה לא יכולה להעביר אפליקציות בסטרימינג למכשיר מחובר (B), אלא אם למכשיר המחובר (B) יש מסך נעילה והוא לא נעול.
  • אם מכשיר המקור (A) מנוהל על ידי אדמין, האפליקציה חייבת לפעול בהתאם למדיניות שהאדמין הגדיר לגבי הפעלה או השבתה של סטרימינג למכשירים בקרבת מקום (לדוגמה, באמצעות הגדרות DevicePolicyManager ב-Android).
  • חייבים לוודא שהמסכים המרוחקים וכל המקורות של אירועי קלט מרוחקים שייכים לאותו מכשיר לוגי (לדוגמה, מסך מרוחק ומקלדת מחוברת) מנקודת המבט של המשתמש, ושהאירועים מנותבים בהתאם.
  • למשתמש חייבת להיות אפשרות להפסיק את הסטרימינג ממכשיר המקור (A), לדוגמה, באמצעות כפתור בהתראה קבועה. הפעולה הזו מוגבלת על ידי מסך הנעילה, אם במכשיר המקור (A) מוגדרת נעילת מסך. חובה להציג את האפשרות הקבועה הזו במכשיר המקור (A) כך שהיא תמיד תהיה גלויה ומעל לקו הקיפול.
  • חובה להציג רמז חזותי במכשיר המקור (A) כשהסטרימינג מתבצע במכשיר אחר, כמו סמל בשורת הסטטוס או התראה קבועה.
DEVICE_POLICY_MANAGEMENT כל התנאים הבאים:
  • רק יצרני ציוד מקורי יכולים להקצות את התפקיד הזה לאפליקציה. אפליקציות לא יכולות לבקש את התפקיד הזה, כי הוא מיועד להקצאה מראש לשם החבילה שהוגדר על ידי יצרן הציוד המקורי כשהמכשיר נשלח.
  • האפליקציה צריכה להיות מסוגלת להקצות פרופיל מנוהל (בעלי הפרופיל) או מכשיר מנוהל (בעלי המכשיר), כולל הורדה והתקנה של לקוח מדיניות מכשיר מתאים שיהיה בעלי המכשיר או הפרופיל, אם נדרש.
  • האפליקציה יכולה לעדכן באופן דינמי משאבים כמו מחרוזות ורכיבים גרפיים שמשמשים לניהול מדיניות המכשיר.
  • האפליקציה יכולה להיות אפליקציית מערכת שמותקנת מראש או אפליקציה שהורדתם והתקנתם לפני הקצאת ההרשאות.
  • במקרים של הקצאת בעלים לפרופיל, כשהאפליקציה של בעל התפקיד מותקנת אצל משתמש Android מסוים, היא חייבת להיות מותקנת בכל הפרופילים הרלוונטיים של אותו משתמש.
SYSTEM_APP_PROTECTION_SERVICE כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • המטרה היחידה של האפליקציה היא לזהות אפליקציות שעלולות להזיק (אפליקציות שעלולות לסכן את המשתמשים, את הנתונים של המשתמשים או את המכשירים, כמו סוסים טרויאניים, פישינג ואפליקציות ריגול) או תוכנות לא רצויות לנייד.
  • האפליקציה צריכה לעמוד בכל הדרישות שמפורטות בסעיף 9.8.6 במסמך הגדרת התאימות (CDD) של Android. נתונים ברמת מערכת ההפעלה ונתונים סביבתיים.
  • אסור להצהיר באפליקציה על ההרשאה הרגילה android.permission.INTERNET. במקום זאת, היא צריכה לגשת לאינטרנט דרך ממשקי API מוגדרים היטב בפרויקט קוד פתוח.
  • האפליקציה לא יכולה להיות מקושרת לאפליקציות אחרות, חוץ מהאפליקציות הבאות של המערכת: Permission Controller ורכיבים שמספקים ממשקי API לטלפוניה ולאינטרנט. כל קישור מותר צריך להיות מוגדר באופן מפורש באמצעות ההגדרה <allow-association> בהגדרות המערכת.
  • אסור לאפליקציה לשתף נתונים עם אפליקציות אחרות, אלא אם המשתמש מבצע פעולה ישירה (לדוגמה, המשתמש לוחץ באופן מפורש על כפתור בכל פעם שהנתונים משותפים).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • האפליקציה צריכה להעביר את נתוני היומן מהטלפון של המשתמש (iOS או Android) למכשיר Android Auto. מכשיר Android Auto צריך לאחסן את נתוני היומן האלה בספק היומן.
  • האפליקציה חייבת לספק רכיב של ממשק משתמש בטלפון, שבאמצעותו המשתמש יכול להפעיל את סנכרון היומן ולבחור את היומנים לסנכרון. האפליקציה חייבת לספק רכיב בממשק המשתמש בטלפון, שדרכו המשתמש יכול להשבית את סנכרון היומן.
  • האפליקציה צריכה לפעול בלי חיבור לאינטרנט. לדוגמה, באמצעות חיבורים קוויים או אלחוטיים ישירים.
AUTOMOTIVE_NAVIGATION כל התנאים הבאים:
  • באפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות Intent משתמעות, שמציגות את המיקום הנוכחי של המשתמש ואת הסביבה שלו.
  • באפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות של כוונה משתמעת, שמאפשרת למשתמשים לנווט למיקום גיאוגרפי מסוים.
  • יש לאפליקציה פעילות שמופעלת בלוח המחוונים כשהאפליקציה נמצאת במיקוד הניווט. הפעילות צריכה להציג את המיקום הנוכחי של המשתמש, את הסביבה שלו, ולאפשר לו לנווט למיקום גיאוגרפי מסוים.
COMPANION_DEVICE_COMPUTER כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • המשתמשים יכולים לשקף התראות ולגשת לתמונות ולמדיה מהטלפון במחשב מחובר.
SYSTEM_SETTINGS_INTELLIGENCE לפחות אחד מהבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • יש שירות שמספק תכונות חכמות לאפליקציית ההגדרות, כמו הצעות וחיפוש.
NOTES כל התנאים הבאים:
  • יש לאפליקציה פעילות שאפליקציות יכולות להפעיל באמצעות בקשות של כוונה משתמעת. הפעילות מאפשרת למשתמש ליצור פתק גם אם המסך נעול וגם אם הוא לא נעול.
  • האפליקציה צריכה לתמוך בכך באמצעות פעילות שיש לה מסנן Intent עבור android.intent.action.CREATE_NOTE עם הקטגוריה android.intent.category.DEFAULT. הפעילות צריכה גם לטפל כראוי ב-intent extra android.intent.extra.USE_STYLUS_MODE.
  • שני מאפייני המניפסט של האפליקציה, showWhenLocked וגם turnScreenOn, צריכים להיות מוגדרים כ-true.
COMPANION_DEVICE_GLASSES האפליקציה יכולה לשלוח בקשות לשיוך למשקפיים ולניהול שלהם (באמצעות ה-API שסופק על ידי המחלקה CompanionDeviceManager). כשהמשקפיים והאפליקציה מחוברים באמצעות ממשק המשתמש של CDM, המשתמשים יכולים לנהל את המשקפיים על ידי מתן גישה לאנשי הקשר והרשאה לנהל את ההתראות ואת שיחות הטלפון.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING כל התנאים הבאים:
  • האפליקציה היא אפליקציית מערכת .
  • רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
  • תרחישי שימוש מותרים:
    • סטרימינג של אפליקציה ממכשיר Android כמו טלפון נייד או טאבלט לרכב.
    • סטרימינג של אפליקציה ממכשיר Android כמו טלפון נייד או טאבלט למכשיר XR.
  • כשיוצרים את החיבור הראשוני ממכשיר א' למכשיר ב':
    • כדי להתאים בין המכשירים, צריך לאשר את ההתאמה באמצעות קוד חד-פעמי שמוצג במכשיר המקור (A) ומוזן במכשיר המחובר (B). לחלופין, אם בשני המכשירים יש לפחות חשבון אחד תואם ב-Android AccountManager, המשתמש יכול לאשר את ההתאמה על ידי הזנת הסיסמה לחשבון במכשיר המחובר (B).
    • שני המכשירים צריכים להיות קרובים 1 זה לזה במהלך ההתאמה.
  • שני המכשירים צריכים להיות קרובים 1 זה לזה בזמן הסטרימינג.
  • האפליקציה יכולה ליצור ולנהל ערוצי תקשורת עם מכשירים מחוברים כדי שהמכשירים יוכלו להחליף נתונים. כדי להגדיר את ערוצי התקשורת האלה, האפליקציה והמכשירים המחוברים חייבים לאמת זה את זה בהצלחה (לדוגמה, על ידי הוכחת הידע שלהם לגבי מפתחות משותפים). ערוצי התקשורת חייבים להיות מוגנים באמצעות הצפנה מקצה לקצה.
  • האפליקציה יכולה לשלוח התראות ממכשיר המקור (A) למכשיר המחובר (B) כדי לאפשר למשתמש לבצע פעולות בהתראות במכשיר המחובר (B).
  • יכולת להעביר בסטרימינג את המטא-נתונים שנדרשים לסטרימינג של האפליקציה למכשיר המחובר (B), כמו רשימת האפליקציות שזמינות במכשיר המקור (A).
  • להיות מסוגל להעביר אפליקציות בסטרימינג ממכשיר המקור (A) למכשיר המחובר (B) אחרי שהמשתמש ציין את ההעדפה שלו לעשות זאת בהסכמה מפורשת (במכשיר המקור (A) או במכשיר המחובר (B)).
  • להפעיל מחדש (להזריק) אירועים שמתרחשים באפליקציה בסטרימינג במכשיר המחובר (B) בחזרה במכשיר המקור (A). לדוגמה, הפעלה מחדש של אירוע מגע במכשיר המחובר (B) באותן קואורדינטות כמו במכשיר המקור (A), או הפעלה מחדש של אירוע קלט שהתרחש במכשיר המחובר (B) עם אותה סמנטיקה של קלט כמו במכשיר המקור (A).
  • האפליקציה יכולה להחליף את מקור הסטרימינג של המיקרופון במכשיר המקור במקור הסטרימינג של המיקרופון במכשיר המחובר, בזמן שאפליקציית סטרימינג משתמשת במיקרופון.
  • האפליקציה מקליטה אודיו ממכשיר המקור (A) ומעבירה אותו בסטרימינג למכשיר המחובר (B).
  • מומלץ לחסום את הגישה לאפליקציות של הגדרות ולחנויות אפליקציות מהמכשיר המחובר (B).
  • החל מ-Android 16, חובה למנוע צילום מסך וקריאת מסך של תוכן רגיש, כמו חלונות ומשטחים מאובטחים, במכשיר המחובר (B).
  • חייבת לאמת את התקינות של גרסת ה-OS של המכשיר המחובר (לדוגמה, באמצעות אימות המכשיר כמו ב-VerifiedBootState).
  • אפשר להעביר בסטרימינג רק אפליקציות שיש להן חשבון תואם אחד בלבד ברישום החשבונות במכשיר (לדוגמה, המחלקה AccountManager ב-Android) בשני המכשירים. אם זה לא המצב, חובה לאשר את הסטרימינג באמצעות קוד חד-פעמי שמוצג במכשיר המקור (A) ומוזן במכשיר המחובר (B). שימו לב: במכשירים שתומכים בכמה משתמשים (ולא בכמה חשבונות) עם אותו בידוד נתונים אמין כמו במכשיר Android עם כמה משתמשים, משתמש נספר כמכשיר.
  • חייב להפסיק את הסטרימינג ולהתנתק מהמכשיר המחובר (B) באופן מיידי אם פג התוקף של האימות של החשבון במכשיר המחובר (B) או אם האימות בוטל.
  • חייב להפסיק את הסטרימינג ולהתנתק מהמכשיר המחובר (B) כשהמכשיר המחובר (B) שבו התוכן מוצג עובר למצב חוסר פעילות. יכול להיות שהמסך של המכשיר המחובר יישאר דולק במקרים כמו WakeLock, שבהם המסך של מכשיר Android נשאר דולק. חובה להגדיר זמן קצוב לתפוגה של חוסר פעילות. אם למכשיר המחובר (B) אין זמן קצוב לתפוגה במצב חוסר פעילות, חובה להשתמש בזמן קצוב לתפוגה במצב חוסר פעילות של 5 דקות לכל היותר.
  • אם במכשיר המקור (A) נעשה שימוש ב-Lockscreen Knowledge Factor‏ (LSKF), כשהמסך נעול, האפליקציה לא יכולה להעביר אפליקציות בסטרימינג למכשיר מחובר (B), אלא אם למכשיר המחובר (B) יש מסך נעילה והוא לא נעול.
  • אם מכשיר המקור (A) מנוהל על ידי אדמין, האפליקציה חייבת לפעול בהתאם למדיניות שהאדמין הגדיר לגבי הפעלה או השבתה של סטרימינג למכשירים בקרבת מקום (לדוגמה, באמצעות הגדרות DevicePolicyManager ב-Android).
  • חייבים לוודא שהמסכים המרוחקים וכל המקורות של אירועי קלט מרוחקים שייכים לאותו מכשיר לוגי (לדוגמה, מסך מרוחק ומקלדת מחוברת) מנקודת המבט של המשתמש, ושהאירועים מנותבים בהתאם.
  • למשתמש חייבת להיות אפשרות להפסיק את הסטרימינג ממכשיר המקור (A), לדוגמה, באמצעות כפתור בהתראה קבועה. הפעולה הזו מוגבלת על ידי מסך הנעילה, אם במכשיר המקור (A) מוגדרת נעילת מסך. חובה להציג את האפשרות הקבועה הזו במכשיר המקור (A) כך שהיא תמיד תהיה גלויה ומעל לקו הקיפול.
  • חובה להציג רמז חזותי במכשיר המקור (A) כשהסטרימינג מתבצע במכשיר אחר, כמו סמל בשורת הסטטוס או התראה קבועה.
WALLET אחת מהאפשרויות הבאות:
  • לאפליקציה יש שירות NFC APDU שרושם באופן סטטי לפחות מזהה אפליקציה (AID) אחד בקטגוריה PAYMENT.
  • האפליקציה מטמיעה מופע של QuickAccessWalletService.

‫1 כדי שהמכשירים יהיו בקרבת מקום, הם צריכים להיות בטווח ה-Bluetooth או ה-Wi-Fi אחד של השני, או להשתמש באותה רשת מקומית.