系統相機

在運行 Android 11 或更高版本的裝置上,Android 框架支援系統鏡頭,這些攝影機裝置僅對具有android.permission.SYSTEM_CAMERA權限和常規攝影機權限的進程可見。 Android 11 中引入的android.permission.SYSTEM_CAMERA權限具有system|signature保護等級。這意味著只有安裝在系統分割區上並使用與系統相同的憑證簽署的應用程式才能被授予此權限。第三方公共應用程式無法存取系統攝影機。

系統相機對於想要實現需要存取相機但也僅限於特權或系統應用程式的功能的設備製造商非常有用。

由於被授予android.permission.SYSTEM_CAMERA權限的系統應用程式也必須擁有android.permission.CAMERA權限,因此使用者可以選擇撤銷普通的CAMERA權限,以阻止此類應用程式存取裝置上的攝影機。

執行

若要讓特定相機設備成為系統相機,相機 HAL 必須在其功能清單中通告ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA

若要建立有權存取系統攝影機的應用程序,該應用程式必須在裝置特定的privapp-permissions.xml檔案中列入白名單,該檔案指定必須授予android.permission.SYSTEM_CAMERA權限的應用程式。

驗證

若要驗證公用應用程式無法發現裝置上的系統鏡頭,請執行android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery CTS 測試。

所有相機 CTS 測試都在系統相機設備上運作。