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 |
כל:
- האפליקציה היא אפליקציית מערכת.
- האפליקציה כוללת פעילות שבה מוצג מידע למקרה חירום של המשתמש.
כל אחד יכול לנווט למסך הזה באמצעות לחצן החירום בפעילות של חייגן החירום.
|
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. לדוגמה, הצגת התוכן של תיקייה או הפעלת אפליקציות. אפשר להפעיל פקודות Shell באופן פרוגרמטי על ידי אפליקציות (אם ניתנו ההרשאות הנדרשות), או באמצעות הכלי 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. Software במסמך Android CDD, בכותרת [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).
- האפליקציה יכולה להחליף את זרם המיקרופון של מכשיר המקור בזרם המיקרופון של מכשיר מחובר בזמן שאפליקציה שמוזרמת משתמשת במיקרופון.
- האפליקציה לוכדת אודיו ממכשיר המקור (א) ומזרימה אותו למכשיר המחובר (ב).
- מומלץ לחסום את הגישה לאפליקציות של ההגדרות ולחנויות האפליקציות מהמכשיר המחובר (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 מוגדרים היטב בפרויקט קוד פתוח.
- האפליקציה לא יכולה להתחבר לאפליקציות אחרות, למעט אפליקציות המערכת הבאות:
Permission Controller ורכיבים שמספקים ממשקי API של טלפוניה ואינטרנט. כל חיבור מותר צריך להיות מוגדר באופן מפורש באמצעות ההגדרה
<allow-association> במערכת config.
- אסור לאפליקציה לשתף נתונים עם אפליקציות אחרות אלא אם יש פעולה ישירה של המשתמש (לדוגמה, המשתמש לוחץ באופן מפורש על לחצן בכל פעם שהנתונים משותפים).
|
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).
- האפליקציה יכולה להחליף את זרם המיקרופון של מכשיר המקור בזרם המיקרופון של מכשיר מחובר בזמן שאפליקציה שמוזרמת משתמשת במיקרופון.
- האפליקציה לוכדת אודיו ממכשיר המקור (א) ומזרימה אותו למכשיר המחובר (ב).
- מומלץ לחסום את הגישה לאפליקציות של הגדרות ולחנויות אפליקציות מהמכשיר המחובר (B).
- החל מ-Android 25Q2, חובה למנוע צילום מסך וקריאת מסך של תוכן רגיש, כמו
חלונות ומשטחים מאובטחים, במכשיר המחובר (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.
|