Di perangkat yang menjalankan Android 11 atau yang lebih tinggi, framework Android mendukung kamera sistem, yaitu perangkat kamera yang hanya terlihat oleh proses dengan izin android.permission.SYSTEM_CAMERA
dan izin kamera reguler.
Izin android.permission.SYSTEM_CAMERA
, yang diperkenalkan di
Android 11, memiliki
tingkat perlindungan system|signature
. Artinya, hanya aplikasi yang diinstal di partisi sistem dengan atau ditandatangani dengan sertifikat yang sama seperti sistem yang dapat diberikan izin ini. Aplikasi publik pihak ketiga tidak dapat mengakses kamera sistem.
Kamera sistem berguna bagi produsen perangkat yang ingin menerapkan fitur yang memerlukan akses ke kamera, tetapi juga dibatasi untuk aplikasi sistem atau aplikasi dengan hak istimewa.
Karena aplikasi sistem yang diberi izin
android.permission.SYSTEM_CAMERA
juga harus memiliki izin
android.permission.CAMERA
, pengguna dapat memilih untuk mencabut izin CAMERA
normal untuk mencegah
aplikasi tersebut mengakses kamera di perangkat.
Implementasi
Untuk menjadikan perangkat kamera tertentu sebagai kamera sistem, HAL kamera harus
mengiklankan
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
dalam daftar kemampuannya.
Untuk membuat aplikasi yang memiliki akses ke kamera sistem, aplikasi harus dimasukkan dalam daftar yang diizinkan dalam file privapp-permissions.xml
khusus perangkat, yang menentukan aplikasi yang harus diberi izin android.permission.SYSTEM_CAMERA
.
Validasi
Untuk memverifikasi bahwa tidak ada kamera sistem di perangkat yang dapat ditemukan oleh aplikasi publik, jalankan uji CTS android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
.
Semua pengujian CTS kamera dijalankan di perangkat kamera sistem.