Systemkameras

Auf Geräten mit Android 11 oder höher, um die Android - Framework unterstützt Systemkameras, die Kamera - Geräte sind , die nur für Prozesse mit sichtbaren sind android.permission.SYSTEM_CAMERA Erlaubnis und regelmäßige Kamera Berechtigungen. Die android.permission.SYSTEM_CAMERA Erlaubnis, eingeführt in Android 11, hat einen Schutzgrad von system|signature . Dies bedeutet, dass nur Apps, die auf der Systempartition mit demselben Zertifikat wie das System installiert oder mit demselben Zertifikat signiert sind, diese Berechtigung erteilt werden kann. Öffentliche Apps von Drittanbietern können nicht auf Systemkameras zugreifen.

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

Da Systeme Anwendungen , die die Gewährung android.permission.SYSTEM_CAMERA Erlaubnis auch haben müssen android.permission.CAMERA Berechtigung können Benutzer wählen , normal zu widerrufen CAMERA Berechtigungen Zugriff auf die Kameras auf dem Gerät so eine App zu verhindern.

Implementierung

Um eine bestimmte Kamera - Gerät eine Systemkamera zu machen, muss die Kamera HAL werben ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA in seine Fähigkeiten Liste.

Um eine App zu erstellen , die Zugriff auf eine Systemkamera hat, muss die App in der gerätespezifischen weiße Liste gesetzt werden privapp-permissions.xml - Datei, die die Apps gibt an, dass die android.permission.SYSTEM_CAMERA Erlaubnis erteilt werden müssen.

Validierung

Um sicherzustellen , dass keine Systemkameras auf dem Gerät durch eine öffentliche App entdeckt werden, die laufen android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery CTS - Test.

Alle Kamera CTS - Tests laufen auf Systemkamera - Geräte.