Kamera sistem

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.