שימוש בשירות מצלמת Android

שירות המצלמה של Android כולל את סטאק המצלמה שמשמש במכשירי רכב, וגם בפורמטים אחרים כמו טלפונים ניידים, טאבלטים וטלוויזיות. כדי להציג את הארכיטקטורה הכוללת של המצלמה, אפשר לעיין במאמר מצלמה. בדף הזה נסביר על נושאים ספציפיים למכשירי רכב, ועל עבודה עם Android Camera API.

הפעלת שירות המצלמה של Android

כדי להפעיל את שירות המצלמה של Android בפלטפורמה לכלי רכב, צריך לציין את ENABLE_CAMERA_SERVICE בתור true בקובץ ה-makefile של המוצר.

מאפייני מצלמה ספציפיים לכלי רכב

בהקשר של כלי רכב, תכונת HAL של המצלמה צריכה לכלול שני מאפיינים ייחודיים שספציפיים לגורם הצורה של כלי הרכב:

שם תיאור
android.automotive.location מציין את המיקום של המצלמות ביחס למסגרת של גוף הרכב.
android.automotive.lens.facing הכיוון שאליו פונה עדשת המצלמה ביחס למסגרת של גוף הרכב ולמושבים של הנוסעים.

במצבים שבהם המצלמות לא מותאמות במדויק למיקום ספציפי או לכיוון של העדשה (הדבר מצוין על ידי נוכחות הערך *_OTHER במאפיינים android.automotive.location או android.automotive.lens.facing), או כשמספר מצלמות חולקות את אותו מיקום וכיוון, ה-HAL של המצלמה צריך לספק מאפיינים נוספים כדי לאפשר לאפליקציות לקבוע במדויק את המיקום של המצלמה. המאפיינים האלה כוללים:

הענקת גישה למשתמש באפליקציית מערכת ללא ממשק גרפי

לאפליקציות מסוימות של המערכת ושל אפליקציות צד ראשון (1P) יש גישה למצלמה כמשתמש באפליקציית המערכת ללא ממשק גרפי, שנקרא גם משתמש 0. התכונה הזו מבטיחה שאפליקציות קריטיות לבטיחות, כמו מצלמת הרכב האחורית, יוכלו להמשיך את הסטרימינג של המצלמה ללא הפרעה, ללא קשר למעבר של המשתמש לחזית. רק אפליקציות שחתומות על ידי פלטפורמה ויש להן את ההרשאה החדשה android.permission.CAMERA_HEADLESS_SYSTEM_USER יכולות לגשת למצלמה בתור משתמש 0.

באפליקציות שמקבלות גישה למצלמות בתור משתמש 0, חובה להשתמש בנתוני המצלמה באופן מקומי ואי אפשר לשדר אותם מחוץ למכשיר, כולל נתונים שמבוססים על נתוני המצלמה. באפליקציות האלה צריך להעניק מראש את ההרשאה android.permission.CAMERA, וצריך לפעול בהתאם למדיניות ההרשאות מראש שמפורטת בדרישות של GAS במאמר עיצוב לנהיגה.

הגדרה של רשימת היתרים לפרטיות המצלמה

יצרני ציוד מקורי (OEM) יכולים עכשיו להגדיר אפליקציות מצלמה ספציפיות שייכללו ברשימת ההיתרים, שמעניקה גישה למצלמה ללא קשר למצב של מתג הפרטיות של המצלמה. התכונה הזו מאפשרת למשתמשים להשבית את הגישה למצלמה באפליקציות בידור, כמו רשתות חברתיות ופגישות וידאו, תוך מתן גישה למצלמה לאפליקציות מסוימות ברשימת ההיתרים.

רק אפליקציות מערכת ואפליקציות בעלות הרשאות מיוחדות שקיבלו את ההרשאה android.permission.CAMERA_PRIVACY_ALLOWLIST יכולות להשתמש בתכונה הזו. שותפי Google Automotive Services‏ (GAS) חייבים לשלוח את האפליקציות שלהם לרשימת ההיתרים לבדיקה, ועומדים בדרישות של מדיניות רשימת ההיתרים בנושא פרטיות. מידע נוסף זמין במאמר Android לרכבים.

הוספת אפליקציה לרשימת ההיתרים

בספרייה etc/sysconfig:

  1. מוסיפים את שם החבילה של האפליקציה בקובץ XML של הגדרות המערכת:

    <!-- In an xml file under etc/sysconfig —>
    
    <!--
    Allowlisted packages for the camera privacy toggle. Users will not be able to turn the privacy on for these packages as OEM requires camera access for these packages to preserve user safety.
    -->
    
    <config>
        <camera-privacy-allowlisted-app package="package_name" />
    </config>
    
  2. מוסיפים את כתובת ה-URL של גילוי הנאות לגבי מדיניות הפרטיות של האפליקציה אל AndroidManifest.xml. השם של meta-data צריך להיות privacy_policy.

    <meta-data android:name="privacy_policy" android:value= privacy policy URL/>
    

כברירת מחדל, המתג של פרטיות המצלמה לאפליקציות ברשימת ההיתרים או לאפליקציות הנדרשות מוסתר בממשק המשתמש של הגדרות הפרטיות. עם זאת, יצרני ציוד מקורי יכולים לשנות את ההתנהגות הזו על ידי הגדרת הדגל הבא ל-TRUE. כך יצרני ציוד מקורי יכולים להתאים אישית את ההצגה של המתג של פרטיות המצלמה באפליקציות הנדרשות, בהתאם להעדפות שלהם.

<!-- Whether to show the toggle to turn on the camera privacy for required apps -->

<bool name="config_show_camera_required_apps_toggle">false</bool>

קבלת גישה מוקדמת למצלמה

אפשר לגשת למצלמה באמצעות אפליקציות ספציפיות שמרוצות לזמן או בטיחות לפני שתהליך ההפעלה של Android מסתיים. עם זאת, הגישה הזו ניתנת רק ללקוחות עם הרשאות עם UID AID_AUTOMOTIVE_EVS. למידע נוסף על הקצאת מזהה משתמש ספציפי לאפליקציה מקומית, ראו בקרת גישה שרירותית (DAC). הגישה המוקדמת הזו למצלמה מוגבלת למצלמות המערכת שממוקמות בחלק החיצוני של תא המטען.