Android 11 veya sonraki sürümleri çalıştıran cihazlarda Android çerçevesi, yalnızca android.permission.SYSTEM_CAMERA
izni ve normal kamera izinlerine sahip süreçler tarafından görülebilen kamera cihazları olan sistem kameralarını destekler.
Android 11'de kullanıma sunulan android.permission.SYSTEM_CAMERA
izninin koruma seviyesi system|signature
'tür. Yani yalnızca sistem bölümüne sistemle aynı sertifikayla yüklenen veya imzalanan uygulamalara bu izin verilebilir. Herkese açık üçüncü taraf uygulamaları sistem kameralarına erişemez.
Sistem kameraları, kameraya erişim gerektiren ancak aynı zamanda ayrıcalıklı uygulamalar veya sistem uygulamalarıyla sınırlı olan özellikleri uygulamak isteyen cihaz üreticileri için kullanışlıdır.
android.permission.SYSTEM_CAMERA
izni verilen sistem uygulamalarının android.permission.CAMERA
iznine de sahip olması gerektiğinden, kullanıcılar bu tür bir uygulamanın cihazdaki kameralara erişmesini önlemek için normal CAMERA
izinlerini iptal etmeyi seçebilir.
Uygulama
Belirli bir kamera cihazını sistem kamerası yapmak için kamera HAL'inin, yetenekler listesinde ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
reklamını yapması gerekir.
Sistem kamerasına erişimi olan bir uygulama oluşturmak için uygulamanın, android.permission.SYSTEM_CAMERA
iznine sahip olması gereken uygulamaları belirten cihaza özgü privapp-permissions.xml
dosyasında izin verilenler listesine eklenmesi gerekir.
Doğrulama
Cihazdaki hiçbir sistem kamerasının herkese açık bir uygulama tarafından bulunamayacağını doğrulamak için android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
CTS testini çalıştırın.
Tüm kamera CTS testleri sistem kamera cihazlarında çalıştırılır.