系統攝影機

在搭載 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 測試都會在系統相機裝置上執行。