使用 Android 相機服務

Android 相機服務包含車用裝置以及手機、平板電腦和電視等其他板型規格使用的相機堆疊。如要查看整體相機架構,請參閱「相機」。本頁著重於汽車裝置專屬主題,以及如何使用 Android Camera API

啟用 Android 相機服務

如要在汽車平台上啟用 Android 相機服務,產品的 makefile 必須將 ENABLE_CAMERA_SERVICE 指定為 true

汽車專用相機特性

在車用裝置的情況下,相機 HAL 必須包含兩個特定於車用板型規格的特徵:

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

如果相機未精確對準特定位置或鏡頭方向 (可透過 android.automotive.locationandroid.automotive.lens.facing 特性中的 *_OTHER 判斷),或是有多台相機共用相同的位置和方向,相機 HAL 應提供其他特性,讓應用程式能夠準確判斷相機的位置。這些特性包括:

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

某些系統和第一方 (1P) 應用程式可以無使用者介面系統使用者 (又稱為使用者 0) 權限存取相機。這項功能可確保安全性至關重要的應用程式 (例如後視相機) 能夠繼續不間斷地串流相機畫面,不受前景使用者切換的影響。只有經過平台簽署且擁有新權限 android.permission.CAMERA_HEADLESS_SYSTEM_USER 的應用程式,才能以 User 0 的身分存取相機。

如果應用程式以 User 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. 將應用程式的隱私權政策揭露網址新增至 AndroidManifest.xmlmeta-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)」一文。這項攝影機搶先體驗功能僅限於車輛車身外側的系統攝影機。