Sistem kameraları

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.testSystemCameraDiscoveryCTS testini çalıştırın.

Tüm kamera CTS testleri sistem kamera cihazlarında çalıştırılır.