ממשק המשתמש של הרדיו מיושם כאפליקציה עצמאית. הוראות לשילוב ממשק המשתמש של הרדיו בחומרת הרדיו מפורטות במאמר הטמעת רדיו.
בקטע הבא מוסבר איך לשלב את ממשק המשתמש של הרדיו עם Media כדי לספק למשתמשים חוויה חלקה שמאפשרת להם ליצור אינטראקציה עם מקורות מדיה ורדיו כאילו מדובר באפליקציה אחת.
מסלול המשתמש באתר במעבר בין מקורות מדיה
בתרשים הבא מוסבר איך הטמעת ההפניה של רדיו ומדיה מטמיעה את תהליך המעבר של המשתמשים בין האפליקציות.
איור 1. מסלול המשתמש באתר במעבר בין מקורות מדיה
כדי לאפשר מעבר חלק בין 'רדיו' לבין אפליקציות אחרות ב'מדיה', הספרייה car-media-common
מגדירה את הכוונות של Android שבהן אפשר להשתמש כדי להפעיל בורר מקורות מדיה. ב-AOSP, הבורר הזה מוטמע במרכז האפליקציות, ומציג את אותו ממשק משתמש להפעלת אפליקציות, אבל מסונן כך שיוצגו רק מקורות מדיה.
יצרני ציוד מקורי יכולים להשתמש בהטמעה הנוכחית של מרכז האפליקציות כפי שהיא, או להטמיע בורר מותאם אישית של מקורות מדיה.
הבורר יכול לפעול בשני מצבים:
- תהליך רגיל אחרי שמשתמשים בבורר, המקור שנבחר מוצג ב'מדיה' כדי שהמשתמש יוכל לעיין בתוכן שלו.
- כמתג. נעשה שימוש בבורר כדי לעבור בין מקורות, אבל המדיה לא מוצגת למשתמש. זה נכון גם לגבי סמל הבורר בדף הבית. אחרי שבוחרים מקור, המסך הקודם האחרון מוצג למשתמש (במקרה הזה, דף הבית).
אפשר לקבל את הכוונה לעבור בין מקורות המדיה מהשיטה MediaSource#getSourceSelectorIntent()
, שמקבלת ערך בוליאני מסוג popup
שמחזיר כוונה להפעיל כל אחד מהתהליכים שמפורטים למעלה.
הכוונות בפועל מוגדרות בקטע packages/apps/Car/libs/car-media-common/res/values/config.xml
. כדי להתאים אישית את ההגדרות האלה, אפשר להשתמש בשכבות-על בזמן ה-build.
החלפת אפליקציית הרדיו
מכיוון שאפליקציית 'רדיו' כוללת 'גלישה במדיה' ו'סשן מדיה', אפליקציית הרדיו מוצגת במרכז האפליקציות. כדי למנוע הפעלת מדיה כשמשתמש לוחץ על הסמל, נדרשים שני רכיבים. חובה:
- לקיים פעילות של מרכז האפליקציות.
- להיות מוצהר כמקור מותאם אישית. כדי לעשות זאת, מוסיפים את שם הרכיב למפתח
custom_media_packages
ב-car-media-common/res/values/config.xml
.
הגבלות נהיגה של חוויית משתמש (UX)
התוכן צריך לעמוד בכל ההגבלות על הסחות דעת בזמן נהיגה. כדי לעשות זאת, המערכת של Media צריכה להאזין ל-CarUXRestrictionManager ולהטמיע את כל כללי המדיניות שלו.
- המדיה צריכה להתחבר לספרייה רכב ולקבל מופע של CarUXRestrictionManager.
- ספקי מדיה צריכים להירשם לעדכונים ברשימת CarUxRestrictions ולהטמיע אותם כפי שמתואר במסמכים.
- נקודות שחשובות במיוחד למדיה הן:
UX_RESTRICTIONS_NO_SETUP
. במקרה כזה, צריך להשבית את תהליך הכניסה.UX_RESTRICTIONS_LIMIT_STRING_LENGTH
. הודעות שגיאה וטקסטים אחרים שסופקו על ידי אפליקציות המדיה חייבים להיות מוגבלים לאורכים שצוינו.