Gerenciamento de dispositivos para o setor automotivo

O gerenciamento de dispositivos permite gerenciar remotamente um veículo com o Android Automotive OS (AAOS). Por exemplo, o proprietário de um veículo pode querer redefinir a unidade de infoentretenimento para a configuração original remotamente.

No setor automotivo, oferecemos duas categorias de gerenciamento de dispositivos:

  • Dispositivo pessoal. Um veículo é de propriedade de um consumidor. O proprietário do veículo gerencia o carro remotamente. Por exemplo, o proprietário usa o app para dispositivos móveis do veículo para realizar uma redefinição de fábrica da unidade de infoentretenimento remotamente.
  • Dispositivo corporativo. Um veículo é de propriedade de uma empresa ou organização. Um administrador gerencia o carro remotamente.

Dispositivos pessoais

Em um cenário de dispositivo pessoal, o gerenciamento remoto do veículo exige considerar o estado de direção do carro. Por exemplo, se o proprietário do veículo acionar remotamente uma redefinição para a configuração original, o veículo não será redefinido para a configuração original se o carro estiver sendo dirigido por outra pessoa.

Portanto, temos um conjunto de APIs de gerenciamento de dispositivos integradas com restrições de unidade de estado. Essas APIs podem ser chamadas por qualquer app do sistema (apps pré-instalados na partição do sistema) com as permissões corretas.

APIs de gerenciamento de dispositivos pessoais

API Objetivo
CarDevicePolicyManager.createUser()

Cria um novo usuário no dispositivo em segundo plano.

Como ele interage com o estado de direção?

Um novo usuário é criado em segundo plano, independentemente do estado da unidade.

CarDevicePolicyManager.RemoveUser()

Remove um usuário do dispositivo.

Como ele interage com o estado de direção?

Se o usuário de destino estiver no:

  • Em segundo plano, a operação continua.
  • Em primeiro plano e o carro está ESTACIONADO ou PARADO, a operação prossegue.
  • Plano principal e o carro está EM MOVIMENTO, um código de exceção é gerado.
DevicePolicyManager.lockNow()

Bloqueia um usuário no dispositivo. Se o usuário tiver credenciais de bloqueio de tela (por exemplo, um PIN ou padrão), a tela vai permanecer ligada.

Como isso interage com o estado de direção?

Se o usuário de destino estiver no:

  • Segundo plano, a operação continua.
  • Primeiro plano e o carro estiver ESTACIONADO ou, EM INÍCIO, ou EM MOVIMENTO, vai prosseguir se o usuário estiver em primeiro plano (independentemente do estado de condução) ou ignorado de outra forma. lockNow() não é restrito pelo estado de distração da UX.
DevicePolicyManager.resetPassword()

Bloqueia um usuário no dispositivo definindo uma credencial de tela de bloqueio, se o usuário não tiver credenciais. A tela permanece acesa.

Como ele interage com o estado de direção?

Se o usuário de destino estiver no:

  • Em segundo plano, a operação continua.
  • Em primeiro plano e o carro está ESTACIONADO ou PARADO, a operação prossegue.
  • Plano principal e o carro está EM MOVIMENTO, um código de exceção é gerado.
DevicePolicyManager.wipeData()

Aciona uma redefinição de fábrica no dispositivo.

Como ele interage com o drive-state?

Independentemente do estado do drive PARKED, IDLING ou MOVING, a operação continua. O sistema envia uma notificação para informar ao motorista que uma redefinição para a configuração original é necessária.

Quando o veículo está ESTACIONADO, o motorista pode interagir com a notificação para redefinir o dispositivo agora ou mais tarde (na próxima vez que o carro for ligado).

Exemplo:

Notificação de redefinição para a configuração original

Figura 1. O sistema envia uma notificação quando a redefinição para a configuração original é acionada.

O veículo está ESTACIONADO

Figura 2. Quando o veículo está ESTACIONADO, o motorista pode interagir com a notificação para escolher redefinir o dispositivo agora ou mais tarde (quando o carro for ligado).

O motorista escolhe "Redefinir"

Figura 3. Se o motorista escolher "Redefinir mais tarde", uma mensagem vai indicar que o dispositivo será redefinido para a configuração original na próxima vez que o carro for ligado.

Dispositivos corporativos

Dispositivos com o Android Automotive OS que executam o Android 13 e versões mais recentes podem declarar suporte ao recurso android.software.device_admin para ativar as APIs de gerenciamento de dispositivos empresariais. Para saber mais, consulte DevicePolicyManager. Uma organização pode usar um app Controlador de políticas de dispositivo (DPC) para controlar políticas de dispositivos locais e apps do sistema no dispositivo.

O Automotive não oferece suporte a perfis de trabalho, o que significa que a única solução de gerenciamento com suporte é um dispositivo totalmente gerenciado, destinado a dispositivos da empresa que têm controle de gerenciamento total.

As empresas que gerenciam o veículo remotamente também precisam considerar o estado de direção do carro. Portanto, ações remotas específicas também são integradas ao estado de direção de um veículo. Por exemplo, o fluxo de redefinição de fábrica em DevicePolicyManager.setFactoryResetProtectionPolicy() também se aplica a veículos habilitados para empresas.

Qualquer API de DevicePolicyManagercode> pode gerar uma exceção (por exemplo, se o veículo estiver em movimento). Confira abaixo uma lista parcial de APIs DevicePolicyManagercode>. Para saber mais, consulte a Visão geral da administração de dispositivos.

  • DevicePolicyManager.removeActiveAdmin()
  • DevicePolicyManager.setFactoryResetProtectionPolicy()
  • DevicePolicyManager.installCaCert()
  • DevicePolicyManager.uninstallCaCert()
  • DevicePolicyManager.installKeyPair()
  • DevicePolicyManager.removeKeyPair()

Gerenciamento de dispositivos corporativos para vários usuários

O gerenciamento de dispositivos para o Automotive funciona com o suporte multiusuário. Isso significa que vários motoristas podem usar o mesmo veículo da empresa, mas os próprios usuários preservam e impedem que a privacidade de dados seja exposta a outros motoristas.

O administrador pode usar um app de controle de política de dispositivo (DPC), conforme descrito em Criar um controle de política de dispositivo, para controlar políticas em todo o dispositivo ou específicas do usuário.

Os builds automotivos geralmente usam o modo de usuário do sistema sem cabeça, e, nesse caso, o controlador de política do dispositivo (DPC) é definido como o proprietário do dispositivo (DO) do usuário do sistema e o proprietário do perfil (PO) de todos os outros usuários. O administrador remoto precisa afiliar os usuários da PO, já que algumas APIs (como requestBugreport()) só estão disponíveis se todos os usuários estiverem afiliados. Em seguida, o administrador remoto precisa selecionar o DPC adequado para executar as ações. Se a ação estiver associada ao dispositivo (como a redefinição de fábrica pelo wipeData()), ela precisará usar o DO DPC. Se ele estiver associado a um usuário (como addUserRestriction()), use o DPC de PO.

O app DPC precisa de um IPC entre o DO e o PO. Sugerimos a API Connect Apps descrita em Apps pessoais e de trabalho conectados.

Para mais informações sobre como um app de DPC gerencia vários usuários, consulte Usuários afiliados.