O Serviço de câmera do Android (ACS, na sigla em inglês) inclui a pilha de câmeras 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 no trabalho 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 específicas da câmera automotiva
No contexto de dispositivos automotivos, a HAL da câmera precisa incluir duas características distintas específicas do formato automotivo:
Item | Descrição |
---|---|
android.automotive.location |
Especifica o posicionamento das câmeras em relação à estrutura da carroceria do veículo. |
android.automotive.lens.facing |
Indica a direção em que uma lente de câmera está apontada em relação à estrutura da carroceria do veículo e aos assentos dos passageiros. |
Em situações em que as câmeras não se alinham precisamente com um local ou orientação de lente específica (indicado 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, a HAL da câmera precisa fornecer características adicionais 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 (1P) podem acessar a câmera como o usuário do sistema headless, também conhecido como usuário 0. Isso ajuda a verificar se apps críticos para a segurança, como a câmera traseira, podem continuar o streaming de vídeo sem interrupção, independente da troca de usuários em primeiro plano. Somente apps
assinados pela plataforma e que têm 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 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 deles. Esses apps exigem que a permissão android.permission.CAMERA
seja concedida previamente e precisam obedecer à política de permissão de pré-concessão descrita em Design para direção para requisitos integrados do Google.
Configurar uma lista de permissões de privacidade da câmera
Agora, os fabricantes de equipamentos originais (OEMs) podem configurar apps de câmera específicos para serem incluídos em uma lista de permissões que concede acesso à câmera, independente do status da chave de privacidade da câmera. Com esse recurso, os usuários podem desativar o acesso à câmera para apps de entretenimento, como redes sociais e videoconferências, e permitir o acesso para determinados apps na lista de permissões.
Somente apps do sistema e privilegiados 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 para análise na
lista de permissões 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 can't turn on privacy 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 declaração de 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, a opção de ativar/desativar a privacidade da câmera para apps na lista de permissões ou obrigatórios
fica oculta 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 da chave de privacidade da câmera para os apps necessários com base nas
preferências deles.
<!-- Whether to show the toggle to turn on the camera privacy for required apps -->
<bool name="config_show_camera_required_apps_toggle">false</bool>
Ter acesso antecipado à câmera
Alguns apps específicos que precisam de acesso imediato e focados em segurança podem acessar a câmera antes da conclusão do processo de inicialização do Android. 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 do sistema, consulte Controle de acesso discricionário (DAC). Esse acesso antecipado à câmera é limitado às câmeras do sistema posicionadas na parte externa da carroceria do veículo.