Câmeras do sistema

Em dispositivos com o Android 11 ou mais recente, um framework que oferece suporte a câmeras, que são dispositivos de câmera visíveis apenas para processos com o android.permission.SYSTEM_CAMERA e permissões normais da câmera. A permissão android.permission.SYSTEM_CAMERA, introduzida no O Android 11 tem um nível de proteção de system|signature. Ou seja, só os apps instalados a partição do sistema com ou assinado com o mesmo certificado que o sistema pode receber essa permissão. Apps públicos de terceiros não podem acessar as câmeras do sistema.

As câmeras do sistema são úteis para fabricantes de dispositivos que querem implementar recursos que exigem acesso a uma câmera, mas também são restritos a recursos ou apps do sistema.

Como os apps do sistema que recebem o A permissão android.permission.SYSTEM_CAMERA também precisa ter o android.permission.CAMERA permissão, os usuários podem optar por revogar as permissões CAMERA normais para evitar um desses apps acesse as câmeras do dispositivo.

Implementação

Para transformar um dispositivo específico em uma câmera do sistema, a HAL da câmera precisa anunciar ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA na lista de recursos.

Para criar um app com acesso a uma câmera do sistema, ele precisa estar na lista de permissões no arquivo privapp-permissions.xml específico do dispositivo, que especifica os apps que o android.permission.SYSTEM_CAMERA precisa ser concedida.

Validação

Para verificar se nenhuma câmera do sistema no dispositivo pode ser descoberta por um público app, execute o android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery CTS teste.

Todos testes CTS da câmera executados nos dispositivos de câmera do sistema.