Systemkameras

Auf Geräten mit Android 11 oder höher unterstützt das Android-Framework Systemkameras. Das sind Kamerageräte, die nur für Prozesse mit der Berechtigung android.permission.SYSTEM_CAMERA und regulären Kameraberechtigungen sichtbar sind. Die in Android 11 eingeführte Berechtigung android.permission.SYSTEM_CAMERA hat das Schutzniveau system|signature. Das bedeutet, dass diese Berechtigung nur Apps erteilt werden kann, die auf der Systempartition installiert sind oder mit demselben Zertifikat wie das System signiert sind. Öffentliche Drittanbieter-Apps können nicht auf Systemkameras zugreifen.

Systemkameras sind nützlich für Gerätehersteller, die Funktionen implementieren möchten, für die Zugriff auf eine Kamera erforderlich ist, die aber auch auf privilegierte Apps oder System-Apps beschränkt sind.

Da System-Apps, denen die Berechtigung android.permission.SYSTEM_CAMERA gewährt wird, auch die Berechtigung android.permission.CAMERA haben müssen, können Nutzer normale CAMERA-Berechtigungen widerrufen, um zu verhindern, dass eine solche App auf die Kameras auf dem Gerät zugreift.

Implementierung

Damit ein bestimmtes Kameragerät als Systemkamera verwendet werden kann, muss die Kamera-HAL ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA in ihrer Liste der Funktionen angeben.

Wenn Sie eine App erstellen möchten, die Zugriff auf eine Systemkamera hat, muss die App in der gerätespezifischen Datei privapp-permissions.xml auf der Zulassungsliste stehen. In dieser Datei werden die Apps angegeben, denen die Berechtigung android.permission.SYSTEM_CAMERA erteilt werden muss.

Zertifizierungsstufe

Führen Sie den CTS-Test android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery aus, um zu prüfen, ob öffentliche Apps Systemkameras auf dem Gerät erkennen können.

Alle Kamera-CTS-Tests werden auf Systemkameras ausgeführt.