ASSISTANT |
לפחות אחד מהפרטים הבאים:
- לאפליקציה יש Activity שמבצעת פעולות עזרה, בהתאם למידע על ההקשר של המשתמש בזמן שהוא ביקש את העזרה (לדוגמה, שם החבילה של האפליקציה שפועלת בחזית ומידע הקשרי עליה).
- לאפליקציה יש שירות אינטראקציה קולית שפועל תמיד, עם גישה מוגבלת באמצעות ההרשאה
android.permission.BIND_VOICE_INTERACTION. השירות יכול לבצע זיהוי קולי ולארח סשנים פעילים של אינטראקציה קולית.
בנוסף, באפליקציה יש סימון מפורש שמציין שהשירות יכול לבצע את פעולת הסיוע.
|
BROWSER |
כל:
- באפליקציה יש Activity שאפליקציות יכולות להפעיל באמצעות בקשות של אובייקט Intent מרומז, שמציגות דף אינטרנט שמתאים לכתובת
http://.
- האפליקציה צריכה לטפל בניווט בין קישורים. כלומר, אם המשתמש צופה בדף אינטרנט ולוחץ על כתובת
http:// בטקסט, האפליקציה צריכה להיות מסוגלת להציג את התוכן שמתאים לקישור שנבחר בלי התערבות נוספת של המשתמש.
- האפליקציה צריכה להיות מסוגלת לספק לדפי אינטרנט את נתוני המיקום הגיאוגרפי הנוכחיים של המכשיר כשהם נדרשים, ורק אם המשתמש מאשר את הבקשה.
|
DIALER |
כל:
- לאפליקציה יש Activity שאפליקציות יכולות להפעיל באמצעות בקשות של אובייקט Intent מרומז, שמספקות את ממשק המשתמש של השיחה בזמן שהמכשיר נמצא בשיחה.
- האפליקציה יכולה לטפל בכוונות של שיחות נכנסות, להציג למשתמש את המידע שקשור לשיחה (לדוגמה, מספר הטלפון של המתקשר) ולאפשר לו לענות לשיחה או לדחות אותה.
- האפליקציה מספקת למשתמש אמצעי להתחלת שיחות ולצפייה בהיסטוריית השיחות במכשיר.
|
SMS |
כל:
- האפליקציה עומדת בכל הדרישות לאפליקציות SMS.
- לאפליקציה יש Activity שאפליקציות יכולות להפעיל באמצעות בקשות של אובייקט Intent מרומז, שיכולות לשלוח הודעה למספר טלפון.
- לאפליקציה יש שירות שמוגבל על ידי ההרשאה
android.permission.SEND_RESPOND_VIA_MESSAGE, והיא ניתנת להפעלה באמצעות כוונות משתמעות, שיכולות להעביר הודעות שהתקבלו מאפליקציית הטלפון כשהמשתמש בוחר להשיב באמצעות הודעה במהלך שיחה נכנסת. האפליקציה יכולה להעביר הודעות דרך מערכת ההודעות שלה.
- לאפליקציה יש שני מקלטי שידור, אחד עם ההרשאה
android.permission.BROADCAST_SMS ואחד עם ההרשאה android.permission.BROADCAST_WAP_PUSH, שיכולים להאזין להודעות SMS ו-MMS מבוססות טקסט שנשלחות למכשיר, בהתאמה. האפליקציה אחראית לכתיבת ההודעות לספק ה-SMS ולהודעה למשתמשים.
|
EMERGENCY |
כל:
- האפליקציה היא אפליקציית מערכת.
- באפליקציה יש Activity שבה מוצג מידע למקרה חירום של המשתמש.
כל אחד יכול לעבור למסך הזה באמצעות לחצן החירום בפעילות של חיוג לחירום.
|
HOME |
באפליקציה יש פעילות שיכולה להפעיל את מסך הבית כשהמשתמש לוחץ על
הלחצן הראשי. במסך הבית אמורים להופיע סמלי אפליקציות, ווידג'טים ותמיכה בניווט באמצעות כפתורים או מחוות (לדוגמה, החלקה למעלה כדי לראות את כל האפליקציות).
|
CALL_REDIRECTION |
לאפליקציה יש שירות שמוגבל על ידי ההרשאה android.permission.BIND_CALL_REDIRECTION_SERVICE, שאפשר לקשר אליה את מסגרת הטלקום. השירות מקבל את מספר הטלפון היוצא ממסגרת הטלקום ומבצע אחת מהפעולות הבאות:
- לאשר את ביצוע השיחה כמו שהיא.
- שינוי המספר לשיחות יוצאות כדי לנתב אותו דרך מספר פרוקסי.
- מבטלים את השיחה.
|
CALL_SCREENING |
לאפליקציה יש שירות שמוגבל על ידי ההרשאה android.permission.BIND_SCREENING_SERVICE,
שמבצע שתי פונקציות:
- חסימה וסינון של שיחות: השירות יכול לבחור אילו שיחות יישלחו לאפליקציית החייגן בטלפון (ויכול להיות שהן יצלצלו, בהתאם למצב 'נא לא להפריע' או לעוצמת הקול), ואילו שיחות יישלחו בשקט לתא הקולי.
- זיהוי שיחות: השירות יכול לזהות שיחות ולהציג מידע לגביהן דרך ממשק משתמש.
|
SUPERVISION |
כל:
- האפליקציה היא אפליקציית מערכת או שירות שהותקן מראש.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- המטרה היחידה של האפליקציה היא לאפשר להורה או לאפוטרופוס של המשתמש לנהל את המכשיר.
- האפליקציה צריכה לספק רכיב בממשק המשתמש במכשיר, שמשתמש מורשה יכול להשתמש בו כדי להשבית את תפקיד ההשגחה.
|
SYSTEM_GALLERY |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- האפליקציה מספקת ממשק משתמש שמאפשר למשתמשים לאחסן, לארגן ולהציג את הסרטונים והתמונות שלהם.
|
SYSTEM_AUTOMOTIVE_CLUSTER |
כל:
- האפליקציה היא אפליקציית מערכת ב-Automotive.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- האפליקציה מספקת למשתמשים אפשרות להשתמש בתצוגת לוח מחוונים ברכב (בדרך כלל ליד ההגה) כדי לענות לשיחות טלפון ולגשת לרשימות אנשי הקשר וליומני השיחות.
|
COMPANION_DEVICE_WATCH |
האפליקציה יכולה לשלוח בקשות לשיוך ולניהול של מכשיר שעון (באמצעות ה-API שסופק על ידי המחלקה CompanionDeviceManager). כשהשעון והאפליקציה מחוברים דרך ממשק המשתמש שמסופק על ידי האפליקציה, המשתמשים יכולים לנהל את השעון מהאפליקציה, כולל סנכרון של אנשי הקשר והיומן, וניהול של התראות ושיחות טלפון.
|
SYSTEM_AUTOMOTIVE_PROJECTION |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- האפליקציה מאפשרת להקרין את מסך הטלפון על מסך התצוגה ברכב. האפליקציה מאפשרת לנהגים לגשת לאפליקציות בטלפונים עם Android ולשלוט בהן, כולל מוזיקה, ניווט, שיחות טלפון וחיפוש, באמצעות מנגנוני קלט ברכב, כולל מגע, אמצעי שליטה בהגה ופקודות קוליות.
|
SYSTEM_SHELL |
כל:
- האפליקציה היא אפליקציית מערכת שהוקצה לה ה-UID
Process.SHELL_UID.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- האפליקציה מספקת ממשק שפועל ברמת שורת הפקודה, כך שהמשתמשים יכולים ליצור אינטראקציה עם Android OS. לדוגמה, הצגת התוכן של תיקייה או הפעלת אפליקציות. אפליקציות יכולות להריץ פקודות Shell באופן פרוגרמטי (אם ניתנו להן ההרשאות הנדרשות), או באמצעות כלי ה-ADB.
|
SYSTEM_CONTACTS |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- האפליקציה מספקת ממשק משתמש שמאפשר למשתמשים לנהל את אנשי הקשר שלהם (לדוגמה, לצפות באיש קשר, לשתף אותו, להוסיף אותו, להסיר אותו או לחפש אותו). האפליקציה מעדכנת את ספק אנשי הקשר כשהמשתמש מעדכן את אנשי הקשר שלו מהאפליקציה. המשתמשים יכולים גם להתקשר לאנשי הקשר שלהם, לשלוח להם אימיילים או הודעות טקסט מהאפליקציה.
|
SYSTEM_SPEECH_RECOGNIZER |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- האפליקציה מספקת שירות שיכול לבצע זיהוי דיבור.
- כשהאפליקציה מקבלת סטרימינג של מיקרופון בזמן אמת מאפליקציה אחרת לצורך זיהוי דיבור, היא משייכת בצורה נכונה את השימוש במיקרופון לאפליקציה המתקשרת ומעדכנת את נתוני הפעולה של האפליקציה בהתאם.
|
SYSTEM_WIFI_COEX_MANAGER |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- לאפליקציה יש שירות שמגדיר באופן דינמי רשימה של ערוצי Wi-Fi שהמכשיר צריך להימנע משימוש בהם בגלל הפרעות סלולריות.
|
SYSTEM_WELLBEING |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- האפליקציה צריכה לספק למשתמשים אפשרות לצמצם את ההסחות ולתת להם נתונים סטטיסטיים על אופן השימוש שלהם במכשיר (לדוגמה, זמן מסך בשבוע).
|
SYSTEM_TELEVISION_NOTIFICATION_HANDLER |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- האפליקציה צריכה להציג התראות קופצות למשתמשים במכשירי טלוויזיה. בנוסף, האפליקציה צריכה להציג התראות פעילות עדכניות כשנשלחת כוונת
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 |
כל:
|
SYSTEM_UI |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- לאפליקציה יש ממשק שמאפשר למשתמשים ליצור אינטראקציה עם הטלפונים שלהם. לדוגמה, המסך הראשי של הטלפון, הניווט, האפליקציות האחרונות, ההגדרות המהירות, סרגל ההתראות, מסך הנעילה, השליטה בעוצמת הקול.
|
SYSTEM_TELEVISION_REMOTE_SERVICE |
כל:
- האפליקציה היא אפליקציית מערכת ב-Android TV.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- לאפליקציה יש שירות שיכול לתקשר עם מכשיר HID של שלט רחוק לטלוויזיה (למשל, דרך BLE), להחדיר אירועים (למשל, לחיצות על לחצנים) ולשלוח נתונים אחרים (למשל, סטרימינג של אודיו ממיקרופון מובנה בשלט) אל הפלטפורמה.
|
SYSTEM_UI_INTELLIGENCE |
כל:
- השירות מותקן מראש ומספק, באמצעות ממשקי API של מסגרת (ממשקי API ציבוריים או של המערכת), מעבד חכם במכשיר לתכונות של ממשק המשתמש של המערכת (לדוגמה, חיזוי והצגה של האפליקציות הבאות למשתמשים).
- השירות חייב לעמוד בכל הדרישות שמפורטות בקטע 9.8.6 Content Capture במסמך Android CDD.
- לשירות לא יכולה להיות ההרשאה
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 או שיקוף של אפליקציות שמאפשרות הזרמה, הפעלה של Cast או שיקוף ממכשיר מבוסס-Android, כמו טלפון נייד או טאבלט, למחשב שולחני או למחשב נייד.
- כשמקימים את החיבור הראשוני ממכשיר א' למכשיר ב':
- התהליך הזה חייב להיות מאושר באמצעות קוד חד-פעמי שמוצג במכשיר המקור (A) ומוזן במכשיר המחובר (B).
לחלופין, אם בשני המכשירים יש לפחות חשבון אחד תואם ב-AccountManager של Android, המשתמש יכול לאשר את ההתאמה על ידי הזנת הסיסמה של החשבון במכשיר המחובר (B).
- שני המכשירים צריכים להיות קרובים
1 זה לזה במהלך ההתאמה.
- שני המכשירים צריכים להיות קרובים אחד לשני
1 בזמן הסטרימינג.
- האפליקציה יכולה ליצור ולנהל ערוצי תקשורת עם מכשירים מחוברים כדי שהמכשירים יוכלו להחליף נתונים. האפליקציה והמכשירים המחוברים חייבים לעבור אימות הדדי (לדוגמה, על ידי הוכחת הידע שלהם במפתחות משותפים) כדי ליצור את ערוצי התקשורת האלה. ערוצי התקשורת חייבים להיות מוגנים באמצעות הצפנה מקצה לקצה.
- האפליקציה יכולה לשלוח התראות ממכשיר המקור (א) למכשיר המחובר (ב), כדי לאפשר למשתמש לבצע פעולה בהתראות במכשיר המחובר (ב).
- להיות מסוגל להזרים את המטא-נתונים שנדרשים להזרמת האפליקציה למכשיר המחובר (B), כמו רשימת האפליקציות שזמינות במכשיר המקור (A).
- האפשרות להזרים אפליקציות ממכשיר המקור (א') למכשיר המחובר (ב') אחרי שהמשתמש ציין את ההעדפה שלו לעשות זאת בהסכמה מפורשת (במכשיר המקור (א') או במכשיר המחובר (ב')).
- להיות מסוגל להפעיל מחדש (להזריק) אירועים שקורים באפליקציה שמוזרמת במכשיר המחובר (B) בחזרה במכשיר המקור (A). לדוגמה, הפעלה מחדש של אירוע מגע במכשיר המחובר (B) באותן קואורדינטות כמו במכשיר המקור (A), או הפעלה מחדש של אירוע קלט שהתרחש במכשיר המחובר (B) עם אותה סמנטיקה של קלט כמו במכשיר המקור (A).
- האפליקציה יכולה להחליף את זרם המיקרופון של מכשיר המקור בזרם המיקרופון של מכשיר מחובר בזמן שאפליקציה שמוזרמת משתמשת במיקרופון.
- האפליקציה לוכדת אודיו ממכשיר המקור (A) ומזרימה אותו למכשיר המחובר (B).
- מומלץ לחסום את הגישה לאפליקציות של הגדרות ולחנויות אפליקציות מהמכשיר המחובר (B).
- החל מ-Android 16, צריך למנוע צילום מסך וקריאת מסך של תוכן רגיש, כמו
חלונות ומשטחים מאובטחים, במכשיר המחובר (B).
- חובה לאמת את התקינות של גרסת מערכת ההפעלה של המכשיר המחובר
(לדוגמה, באמצעות אימות מכשיר כמו ב-
VerifiedBootState).
- אפשר להזרים רק אפליקציות שבהן יש רק חשבון תואם אחד במרשם החשבונות במכשיר (לדוגמה, המחלקה
AccountManager ב-Android) בשני המכשירים. אם זה לא המצב, צריך לאשר את הצפייה באמצעות קוד חד-פעמי שמוצג במכשיר המקור (A) ומוזן במכשיר המחובר (B).
שימו לב: במקרה של מכשירים שתומכים בכמה משתמשים (ולא בכמה חשבונות) עם אותה הפרדה מהימנה של נתונים כמו במצב רב-משתמשים ב-Android, משתמש נספר כמכשיר.
- חובה להפסיק את הסטרימינג ולהתנתק מהמכשיר המחובר (B)
באופן מיידי אם אימות החשבון במכשיר המחובר (B)
פג או בוטל.
- חובה להפסיק את הסטרימינג ולנתק את המכשיר המחובר (B)
במקרה של פסק זמן של חוסר פעילות במכשיר המחובר (B) שבו התוכן
מוצג. יכול להיות שהמכשיר המחובר ישאיר את המסך שלו דולק במקרים כמו WakeLock, שבהם המסך של מכשיר Android נשאר דולק. חובה לציין זמן קצוב לתפוגה של חוסר פעילות. אם למכשיר המחובר (B) אין זמן קצוב לתפוגה במצב בלי פעילות, חובה להשתמש בזמן קצוב לתפוגה במצב בלי פעילות של 5 דקות לכל היותר.
- אם במכשיר המקור (A) נעשה שימוש ב-LSKF (גורם ידע לביטול נעילת המסך), כשהמסך נעול, האפליקציה לא יכולה להזרים אפליקציות למכשיר מחובר (B) אלא אם למכשיר המחובר (B) יש מסך נעילה והוא לא נעול.
- אם מכשיר המקור (A) מנוהל על ידי אדמין, האפליקציה חייבת לפעול בהתאם למדיניות שהוגדרה על ידי האדמין לגבי הפעלה או השבתה של סטרימינג למכשירים בקרבת מקום (לדוגמה, באמצעות הגדרות
DevicePolicyManager ב-Android).
- חובה לוודא שהמסכים המרוחקים וכל המקורות של אירועי קלט מרוחקים
שייכים לאותו מכשיר לוגי (לדוגמה, מסך מרוחק ומקלדת מחוברת) מנקודת המבט של המשתמש, והאירועים מנותבים בהתאם.
- המשתמש חייב להיות מסוגל להפסיק את הסטרימינג ממכשיר המקור (א'), למשל באמצעות לחצן בהתראה קבועה. ההתנהגות הזו מוגבלת על ידי מסך הנעילה, אם במכשיר המקור (א) מוגדרת נעילת מסך. חובה להציג את המזמינוּת הקבועה הזו במכשיר המקור (א) כך שתמיד תהיה גלויה ומוצגת בחלק העליון והקבוע.
- חובה להציג מזמינוּת במכשיר המקור (א) כשהסטרימינג מתבצע במכשיר אחר, כמו סמל בשורת הסטטוס או התראה קבועה.
|
DEVICE_POLICY_MANAGEMENT |
כל:
- רק יצרני ציוד מקורי יכולים להעניק את התפקיד הזה לאפליקציה. אפליקציות לא יכולות לבקש את התפקיד הזה, כי הוא מיועד להענקה מחוץ לקופסה לשם החבילה שהוגדר על ידי יצרן הציוד המקורי כשהמכשיר נשלח.
- האפליקציה צריכה להיות מסוגלת להקצות פרופיל מנוהל (בעלים של הפרופיל) או מכשיר מנוהל (בעלים של המכשיר), כולל הורדה והתקנה של לקוח מדיניות המכשיר המתאים כדי להיות הבעלים של המכשיר או הפרופיל, אם נדרש.
- האפליקציה יכולה לעדכן באופן דינמי משאבים כמו מחרוזות ופריטים שניתנים לציור, שמשמשים לניהול מדיניות המכשיר.
- האפליקציה יכולה להיות אפליקציית מערכת שהותקנה מראש או אפליקציה שהורדתם והתקנתם לפני הקצאת ההרשאות.
- במקרים של הקצאת הרשאות לבעלי פרופילים, כשמתקינים את האפליקציה של בעל התפקיד אצל משתמש Android מסוים, צריך להתקין אותה בכל הפרופילים הרלוונטיים של אותו משתמש.
|
SYSTEM_APP_PROTECTION_SERVICE |
כל:
- האפליקציה היא אפליקציית מערכת.
- המטרה היחידה של האפליקציה היא לזהות אפליקציות שעלולות לגרום נזק (אפליקציות שעלולות לסכן את המשתמשים, את נתוני המשתמש או את המכשירים שלהם, כמו סוסים טרויאניים, פישינג ואפליקציות ריגול) או תוכנות לא רצויות לנייד.
- האפליקציה צריכה לעמוד בכל הדרישות שמפורטות בקטע 9.8.6 של מסמך ה-CDD של Android.
נתונים ברמת מערכת ההפעלה ונתונים סביבתיים.
- אסור להצהיר על ההרשאה הרגילה
android.permission.INTERNET
באפליקציה. במקום זאת, האפליקציה צריכה לגשת לאינטרנט דרך ממשקי API מוגדרים היטב בפרויקט קוד פתוח.
- האפליקציה לא יכולה להיות מקושרת לאפליקציות אחרות, למעט אפליקציות המערכת הבאות:
הכלי לניהול הרשאות ורכיבים שמספקים ממשקי API של טלפוניה ואינטרנט. צריך להגדיר כל קשירה מותרת באופן מפורש באמצעות ההגדרה
<allow-association> בקובץ ההגדרות של המערכת.
- אסור לאפליקציה לשתף נתונים עם אפליקציות אחרות אלא אם יש פעולה ישירה של המשתמש (לדוגמה, המשתמש לוחץ במפורש על כפתור בכל פעם שהנתונים משותפים).
|
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- האפליקציה צריכה להעביר נתוני יומן מהטלפון של המשתמש (iOS או Android)
למכשיר Android Auto. נתוני היומן האלה צריכים להישמר בספק היומן במכשיר Android Auto.
- האפליקציה צריכה לספק רכיב בממשק המשתמש בטלפון שדרכו המשתמש יכול להפעיל את סנכרון היומן ולבחור את היומנים לסנכרון. האפליקציה צריכה לספק רכיב בממשק המשתמש בטלפון שבאמצעותו המשתמש יכול להשבית את סנכרון היומן.
- האפליקציה צריכה לפעול ללא חיבור לאינטרנט. לדוגמה,
באמצעות חיבורים ישירים חוטיים או אלחוטיים.
|
AUTOMOTIVE_NAVIGATION |
כל:
- באפליקציה יש פעילות שאפליקציות יכולות להפעיל באמצעות בקשות Intent משתמעות, שמציגות למשתמש את המיקום הנוכחי והסביבה שלו.
- לאפליקציה יש Activity שאפליקציות יכולות להפעיל באמצעות בקשות של אובייקט Intent מרומז, שמאפשרות למשתמש לנווט למיקום גיאוגרפי ספציפי.
- לאפליקציה יש Activity שמופעלת באשכול הכלים כשהאפליקציה מחזיקה בהתמקדות ברכיב ממשק.
הפעילות צריכה להציג את המיקום הנוכחי של המשתמש, את הסביבה שלו, ולאפשר לו לנווט למיקום גיאוגרפי ספציפי.
|
COMPANION_DEVICE_COMPUTER |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- אפליקציות שמאפשרות למשתמשים לשקף התראות ולגשת לתמונות ולמדיה מהטלפון במחשב מחובר.
|
SYSTEM_SETTINGS_INTELLIGENCE |
לפחות אחד מהפרטים הבאים:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- יש לו שירות שמספק תכונות חכמות לאפליקציית ההגדרות, כמו הצעות וחיפוש.
|
NOTES |
כל:
|
COMPANION_DEVICE_GLASSES |
האפליקציה יכולה לשלוח בקשות לשיוך ולניהול של מכשיר משקפיים (באמצעות ה-API שסופק על ידי המחלקה CompanionDeviceManager). כשהמשקפיים והאפליקציה מחוברים באמצעות ממשק המשתמש שסופק על ידי CDM, המשתמשים יכולים לנהל את המשקפיים על ידי מתן גישה לאנשי הקשר והרשאה לנהל את ההתראות והשיחות.
|
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING |
כל:
- האפליקציה היא אפליקציית מערכת.
- רק יצרני ציוד מקורי (OEM) יכולים להעניק את התפקיד הזה לאפליקציה.
- תרחישי שימוש מותרים:
- הזרמת אפליקציות ממכשיר מבוסס-Android, כמו טלפון נייד או טאבלט, לרכב.
- סטרימינג של אפליקציות ממכשיר עם Android, כמו טלפון נייד או טאבלט, למכשיר XR.
- כשמקימים את החיבור הראשוני ממכשיר א' למכשיר ב':
- התהליך הזה חייב להיות מאושר באמצעות קוד חד-פעמי שמוצג במכשיר המקור (A) ומוזן במכשיר המחובר (B).
לחלופין, אם בשני המכשירים יש לפחות חשבון אחד תואם ב-AccountManager של Android, המשתמש יכול לאשר את ההתאמה על ידי הזנת הסיסמה של החשבון במכשיר המחובר (B).
- שני המכשירים צריכים להיות קרובים
1 זה לזה במהלך ההתאמה.
- שני המכשירים צריכים להיות קרובים אחד לשני
1 בזמן הסטרימינג.
- האפליקציה יכולה ליצור ולנהל ערוצי תקשורת עם מכשירים מחוברים כדי שהמכשירים יוכלו להחליף נתונים. האפליקציה והמכשירים המחוברים חייבים לעבור אימות אחד מול השני (לדוגמה, על ידי הוכחת הידע שלהם לגבי מפתחות משותפים) כדי ליצור את ערוצי התקשורת האלה. ערוצי התקשורת חייבים להיות מוגנים באמצעות הצפנה מקצה לקצה.
- האפליקציה יכולה לשלוח התראות ממכשיר המקור (א) למכשיר המחובר (ב), כדי לאפשר למשתמש לבצע פעולה בהתראות במכשיר המחובר (ב).
- להיות מסוגל להזרים את המטא-נתונים שנדרשים להזרמת האפליקציה למכשיר המחובר (B), כמו רשימת האפליקציות שזמינות במכשיר המקור (A).
- האפשרות להזרים אפליקציות ממכשיר המקור (א') למכשיר המחובר (ב') אחרי שהמשתמש ציין את ההעדפה שלו לעשות זאת בהסכמה מפורשת (במכשיר המקור (א') או במכשיר המחובר (ב')).
- להיות מסוגל להפעיל מחדש (להזריק) אירועים שקורים באפליקציה שמוזרמת במכשיר המחובר (B) בחזרה במכשיר המקור (A). לדוגמה, הפעלה מחדש של אירוע מגע במכשיר המחובר (B) באותן קואורדינטות כמו במכשיר המקור (A), או הפעלה מחדש של אירוע קלט שהתרחש במכשיר המחובר (B) עם אותה סמנטיקה של קלט כמו במכשיר המקור (A).
- האפליקציה יכולה להחליף את זרם המיקרופון של מכשיר המקור בזרם המיקרופון של מכשיר מחובר בזמן שאפליקציה שמוזרמת משתמשת במיקרופון.
- האפליקציה לוכדת אודיו ממכשיר המקור (A) ומזרימה אותו למכשיר המחובר (B).
- מומלץ לחסום את הגישה לאפליקציות של הגדרות ולחנויות אפליקציות מהמכשיר המחובר (B).
- החל מ-Android 16, חובה למנוע צילומי מסך וקריאת מסך של תוכן רגיש, כמו
חלונות ומשטחים מאובטחים, במכשיר המחובר (B).
- חובה לאמת את התקינות של גרסת מערכת ההפעלה של המכשיר המחובר
(לדוגמה, באמצעות אימות מכשיר כמו ב-
VerifiedBootState).
- אפשר להזרים רק אפליקציות שבהן יש רק חשבון תואם אחד במרשם החשבונות במכשיר (לדוגמה, המחלקה
AccountManager ב-Android) בשני המכשירים. אם זה לא המצב, צריך לאשר את הצפייה באמצעות קוד חד-פעמי שמוצג במכשיר המקור (A) ומוזן במכשיר המחובר (B).
שימו לב: במקרה של מכשירים שתומכים בכמה משתמשים (ולא בכמה חשבונות) עם אותה הפרדה מהימנה של נתונים כמו במצב רב-משתמשים ב-Android, משתמש נספר כמכשיר.
- חובה להפסיק את הסטרימינג ולהתנתק מהמכשיר המחובר (B)
באופן מיידי אם תוקף האימות של החשבון במכשיר המחובר (B)
פג או בוטל.
- חובה להפסיק את הסטרימינג ולנתק את המכשיר המחובר (B)
במקרה של פסק זמן של חוסר פעילות במכשיר המחובר (B) שבו התוכן
מוצג. יכול להיות שהמכשיר המחובר ישאיר את המסך שלו דולק במקרים כמו WakeLock, שבהם המסך של מכשיר Android נשאר דולק. חובה לציין זמן קצוב לתפוגה של חוסר פעילות. אם למכשיר המחובר (B) אין זמן קצוב לתפוגה במצב בלי פעילות, חובה להשתמש בזמן קצוב לתפוגה במצב בלי פעילות של 5 דקות לכל היותר.
- אם במכשיר המקור (A) נעשה שימוש ב-LSKF (גורם ידע לביטול נעילת המסך), כשהמסך נעול, האפליקציה לא יכולה להזרים אפליקציות למכשיר מחובר (B) אלא אם למכשיר המחובר (B) יש מסך נעילה והוא לא נעול.
- אם מכשיר המקור (A) מנוהל על ידי אדמין, האפליקציה חייבת לפעול בהתאם למדיניות שהוגדרה על ידי האדמין לגבי הפעלה או השבתה של סטרימינג למכשירים בקרבת מקום (לדוגמה, באמצעות הגדרות
DevicePolicyManager ב-Android).
- חובה לוודא שהמסכים המרוחקים וכל המקורות של אירועי קלט מרוחקים
שייכים לאותו מכשיר לוגי (לדוגמה, מסך מרוחק ומקלדת מחוברת) מנקודת המבט של המשתמש, והאירועים מנותבים בהתאם.
- המשתמש חייב להיות מסוגל להפסיק את הסטרימינג ממכשיר המקור (א'), למשל באמצעות לחצן בהתראה קבועה. ההתנהגות הזו מוגבלת על ידי מסך הנעילה, אם במכשיר המקור (א) מוגדרת נעילת מסך. חובה להציג את המזמינוּת הקבועה הזו במכשיר המקור (א) כך שתמיד תהיה גלויה ומוצגת בחלק העליון והקבוע.
- חובה להציג מזמינוּת במכשיר המקור (א) כשהסטרימינג מתבצע במכשיר אחר, כמו סמל בשורת הסטטוס או התראה קבועה.
|
WALLET |
אחת מהאפשרויות:
- באפליקציה יש שירות NFC APDU שרושם באופן סטטי לפחות AID אחד בקטגוריה PAYMENT.
- האפליקציה מטמיעה מופע של
QuickAccessWalletService.
|