O serviço de câmera do Android compreende a pilha de câmera usada em dispositivos automotivos, bem como em outros formatos, como smartphones, tablets e TVs. Para conferir a arquitetura geral da câmera, consulte Câmera. Esta página se concentra em tópicos específicos para dispositivos automotivos e em como trabalhar com a API Camera do Android.
Ativar o serviço de câmera do Android
Para ativar o serviço de câmera do Android na plataforma automotiva, o makefile
do produto precisa especificar ENABLE_CAMERA_SERVICE
como true
.
Características da câmera específicas para o setor automotivo
No contexto de dispositivos automotivos, a HAL da câmera precisa incluir duas características distintas específicas do formato automotivo:
Nome | Descrição |
---|---|
android.automotive.location |
Especifica o posicionamento das câmeras em relação ao chassi do veículo. |
android.automotive.lens.facing |
Indica para qual direção a lente da câmera está voltada em relação à estrutura do veículo e aos assentos do passageiro. |
Em situações em que as câmeras não se alinham com precisão a uma localização ou orientação de lente
específica (indicada pela presença de *_OTHER
nas
características android.automotive.location
ou android.automotive.lens.facing
), ou quando várias câmeras compartilham o mesmo local e
direção, o HAL da câmera precisa fornecer outras características para permitir
que os apps determinem com precisão a localização da câmera. Essas características
incluem:
Conceder acesso ao usuário do sistema headless
Alguns apps do sistema e próprios podem acessar a câmera como o usuário
do sistema sem cabeça, também conhecido como usuário 0. Esse recurso garante que apps críticos para a segurança, como a câmera de ré, possam continuar o streaming da câmera sem
interrupções, independentemente da troca de usuário em primeiro plano. Somente apps
assinados pela plataforma e que tenham a nova permissão
android.permission.CAMERA_HEADLESS_SYSTEM_USER
podem acessar a câmera como
usuário 0.
Para apps que acessam câmeras como o usuário 0, os dados da câmera precisam ser consumidos localmente
e não podem ser transmitidos para fora do dispositivo, incluindo dados derivados dos
dados da câmera. Esses apps exigem que a permissão android.permission.CAMERA
seja concedida previamente e precisam obedecer à política de permissão pré-concedida descrita em
Design para dirigir para os requisitos do GAS.
Configurar uma lista de permissões de privacidade da câmera
Os fabricantes de equipamentos originais (OEMs) agora podem configurar apps de câmera específicos para serem incluídos em uma lista de permissões que concede acesso à câmera, independentemente do status da chave de privacidade da câmera. Esse recurso permite que os usuários desativem o acesso à câmera para apps de entretenimento, como mídias sociais e videoconferências, ao mesmo tempo em que permitem o acesso à câmera para determinados apps da lista de permissões.
Somente apps privilegiados e do sistema que receberam a
permissão android.permission.CAMERA_PRIVACY_ALLOWLIST
podem usar esse recurso.
Os parceiros do Google Automotive Services (GAS) precisam enviar os apps da lista de permissões
para análise e obedecer à política de lista de permissões de privacidade. Para saber mais, consulte
Android para carros.
Adicionar um app à lista de permissões
No diretório etc/sysconfig
:
Adicione o nome do pacote do app em um arquivo XML de configuração do sistema:
<!-- In an xml file under etc/sysconfig —> <!-- Allowlisted packages for the camera privacy toggle. Users will not be able to turn the privacy on for these packages as OEM requires camera access for these packages to preserve user safety. --> <config> <camera-privacy-allowlisted-app package="package_name" /> </config>
Adicione o URL da Política de Privacidade do app a
AndroidManifest.xml
. O nome dometa-data
precisa serprivacy_policy
.<meta-data android:name="privacy_policy" android:value= privacy policy URL/>
Por padrão, o botão de privacidade da câmera para apps permitidos ou obrigatórios fica
oculto na interface das configurações de privacidade. No entanto, os OEMs podem substituir esse comportamento
definindo a seguinte flag como TRUE
. Isso permite que os OEMs personalizem a
visibilidade do botão de privacidade da câmera para os apps necessários com base nas
preferências.
<!-- Whether to show the toggle to turn on the camera privacy for required apps -->
<bool name="config_show_camera_required_apps_toggle">false</bool>
Tenha acesso antecipado à câmera
Apps específicos com foco em segurança e tempo podem acessar a câmera antes
que o processo de inicialização do Android seja concluído. No entanto, esse acesso é concedido exclusivamente
a clientes privilegiados com o UID AID_AUTOMOTIVE_EVS
. Para saber mais
sobre como atribuir um UID específico a um app nativo,
consulte Controle de acesso discricionário (DAC).
Esse acesso antecipado à câmera é limitado às câmeras do sistema posicionadas no
exterior da carroceria.