系統攝影機

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