Pada perangkat yang menjalankan Android 11 atau yang lebih baru, framework
Android mendukung kamera
sistem, yang merupakan 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
diberi 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 yang memiliki 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
mengumumkan
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
dalam daftar kemampuannya.
Untuk membuat aplikasi yang memiliki akses ke kamera sistem, aplikasi harus diizinkan
dalam file privapp-permissions.xml
khusus perangkat, yang menentukan aplikasi
yang harus diberikan izin
android.permission.SYSTEM_CAMERA
.
Validasi
Untuk memverifikasi bahwa tidak ada kamera sistem di perangkat yang dapat ditemukan oleh aplikasi
publik, jalankan
pengujian
android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
CTS.
Semua pengujian CTS kamera berjalan di perangkat kamera sistem.