Pada perangkat yang menjalankan Android 11 atau lebih tinggi, framework Android mendukung kamera sistem, yaitu perangkat kamera yang hanya dapat dilihat oleh proses dengan izin android.permission.SYSTEM_CAMERA
dan izin kamera biasa. Izin android.permission.SYSTEM_CAMERA
, yang diperkenalkan di Android 11, memiliki tingkat perlindungan system|signature
. Artinya hanya aplikasi yang diinstal pada partisi sistem dengan atau ditandatangani dengan sertifikat yang sama dengan 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 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 normal CAMERA
untuk mencegah aplikasi tersebut mengakses kamera di perangkat.
Penerapan
Untuk menjadikan perangkat kamera tertentu sebagai kamera sistem, kamera HAL harus mengiklankan ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
dalam daftar kemampuannya.
Untuk membuat aplikasi yang memiliki akses ke kamera sistem, aplikasi tersebut harus dimasukkan ke dalam daftar putih di file privapp-permissions.xml
khusus perangkat, yang menentukan aplikasi mana yang harus diberi izin android.permission.SYSTEM_CAMERA
.
Validasi
Untuk memverifikasi bahwa tidak ada kamera sistem pada perangkat yang dapat ditemukan oleh aplikasi publik, jalankan pengujian CTS android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
.
Semua tes CTS kamera dijalankan pada perangkat kamera sistem.