Android Camera Service

Android Camera Service (ACS) 包含車用裝置使用的攝影機堆疊,以及其他板型規格 (例如手機、平板電腦和電視) 使用的攝影機堆疊。如要查看整體攝影機架構,請參閱「攝影機」。本頁面著重於車用裝置的特定主題,以及如何使用 Android Camera API

啟用 Android Camera Service

如要在汽車平台上啟用 Android Camera Service,產品的 Makefile 必須指定 ENABLE_CAMERA_SERVICEtrue

車輛專用相機特性

在車輛裝置的環境中,相機 HAL 必須包含兩種車輛外型規格特有的特徵:

產品 說明
android.automotive.location 指定攝影機相對於車輛車身的定位。
android.automotive.lens.facing 指出相機鏡頭相對於車身框架和乘客座椅的方向。

如果攝影機未精確對齊特定位置或鏡頭方向 (以 *_OTHER 出現在 android.automotive.locationandroid.automotive.lens.facing 特徵中表示),或是多部攝影機共用相同位置和方向,攝影機 HAL 應提供額外特徵,讓應用程式能準確判斷攝影機位置。這些特徵包括:

授予無使用者介面系統使用者存取權

某些系統和第一方 (1P) 應用程式可以無使用者介面系統使用者 (也稱為使用者 0) 身分存取相機。這有助於驗證後視攝影機等安全關鍵應用程式是否能持續串流播放攝影機畫面,不會因前景使用者切換而中斷。只有平台簽署且擁有新權限 android.permission.CAMERA_HEADLESS_SYSTEM_USER 的應用程式,才能以使用者 0 的身分存取相機。

如果應用程式以使用者 0 的身分存取攝影機,則攝影機資料必須在裝置上使用,且不得傳輸到裝置外部,包括從攝影機資料衍生的任何資料。這類應用程式必須預先取得 android.permission.CAMERA 權限,並遵守專為開車模式設計中針對 Google 內建服務列出的預先授予權限政策。

設定攝影機隱私權許可清單

原始設備製造商 (OEM) 現在可以設定特定相機應用程式,將其加入允許清單,無論相機隱私權切換按鈕的狀態為何,都能授予相機存取權。這項功能可讓使用者停用社群媒體和視訊會議等娛樂應用程式的攝影機存取權,同時允許允許清單上的特定應用程式存取攝影機。

只有獲得 android.permission.CAMERA_PRIVACY_ALLOWLIST 權限的系統和特殊權限應用程式,才能使用這項功能。Google 車載服務 (GAS) 合作夥伴必須將應用程式提交至許可清單以供審查,並遵守隱私權許可清單政策。詳情請參閱「車輛專用 Android」。

將應用程式加入許可清單

etc/sysconfig 目錄中:

  1. 在系統設定 XML 檔案中新增應用程式的套件名稱:

    <!-- In an xml file under etc/sysconfig ->
    
    <!--
    Allowlisted packages for the camera privacy toggle. Users can't turn on
    privacy 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. AndroidManifest.xml 中新增應用程式的隱私權政策揭露網址。meta-data 的名稱應為 privacy_policy

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

根據預設,允許清單中的應用程式或必要應用程式的相機隱私權切換鈕,會隱藏在「隱私權設定」使用者介面中。不過,原始設備製造商 (OEM) 可以將下列標記設為 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 的特權用戶端。如要進一步瞭解如何將特定 UID 指派給系統應用程式,請參閱任意存取權控管 (DAC)。這項攝影機搶先體驗功能僅限於車身外部的系統攝影機。