Pada perangkat yang menjalankan Android 11 atau yang lebih tinggi, 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 menggunakan sertifikat yang sama dengan 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
iklankan
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
uji CTS
android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
.
Semua uji CTS kamera berjalan pada perangkat kamera sistem.