Gerenciamento de dispositivos para automóveis

O gerenciamento de dispositivos permite gerenciar remotamente um veículo com Android Automotive OS (AAOS). Por exemplo, o proprietário de um veículo pode querer redefinir remotamente a unidade de infoentretenimento para os padrões de fábrica.

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

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

Dispositivos pessoais

Num cenário de dispositivo pessoal, a gestão remota do veículo requer a consideração do estado de condução do carro. Por exemplo, se o proprietário do veículo acionar remotamente uma redefinição de fábrica, o veículo não deverá ser redefinido para os padrões de fábrica se o carro for dirigido ativamente por outra pessoa.

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

APIs de gerenciamento de dispositivos pessoais

API Propósito
CarDevicePolicyManager.createUser()

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

Como ele interage com o estado da unidade?

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

CarDevicePolicyManager.RemoveUser()

Remove um usuário existente no dispositivo.

Como ele interage com o estado da unidade?

Se o usuário alvo estiver em:

  • Antecedentes, a operação prossegue.
  • Em primeiro plano e o carro está ESTACIONADO ou IDLING , a operação prossegue.
  • Em primeiro plano e o carro está MOVING , um código de exceção é lançado.
DevicePolicyManager.lockNow()

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

Como isso interage com o estado da unidade?

Se o usuário alvo estiver em:

  • Background , a operação prossegue.
  • Primeiro plano e o carro estiver PARKED ou, IDLING , ou, MOVING , ele continuará se o usuário estiver em primeiro plano (independentemente do estado de direção) ou será ignorado caso contrário. lockNow() não é restrito pelo estado de distração UX.
DevicePolicyManager.resetPassword()

Bloqueia um usuário existente no dispositivo definindo uma credencial de tela de bloqueio, se o usuário não tiver credenciais existentes. O display permanece ligado.

Como ele interage com o estado da unidade?

Se o usuário alvo estiver em:

  • Background , a operação prossegue.
  • Em primeiro plano e o carro está ESTACIONADO ou, IDLING , a operação prossegue.
  • Em primeiro plano e o carro está MOVING , um código de exceção é lançado.
DevicePolicyManager.wipeData()

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

Como ele interage com o estado da unidade?

Independentemente do estado da unidade ( PARKED , IDLING ou MOVING ), a operação continua. O sistema publica uma notificação para informar ao motorista que é necessária uma redefinição de fábrica.

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

Por exemplo:

Notificação de redefinição de fábrica

Figura 1. O sistema envia uma notificação quando a redefinição de fábrica é acionada.

O veículo está ESTACIONADO

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

O motorista escolhe Redefinir

Figura 3. Se o motorista optar por Redefinir mais tarde, uma mensagem avisa que o dispositivo será redefinido para os padrões de fábrica na próxima vez que o carro for ligado.

Dispositivos empresariais

Os dispositivos Android Automotive OS que executam o Android 13 e versões posteriores podem declarar suporte para o recurso android.software.device_admin para ativar APIs de gerenciamento de dispositivos empresariais (para saber mais, consulte DevicePolicyManager ). Uma organização pode então usar um aplicativo Device Policy Controller (DPC) para controlar políticas de dispositivos locais e aplicativos de sistema no dispositivo.

O setor automotivo não oferece suporte a perfis de trabalho , o que significa que a única solução de gerenciamento compatível é um dispositivo totalmente gerenciado , destinado a dispositivos de propriedade da empresa sobre os quais a organização tem controle de gerenciamento completo.

As empresas que gerenciam remotamente o veículo também devem considerar o estado de direção do carro. Conseqüentemente, 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 do código DevicePolicyManager > pode gerar uma exceção (por exemplo, se o veículo estiver em movimento). Uma lista parcial de APIs de código> DevicePolicyManager é fornecida abaixo. Para saber mais, consulte 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 setor automotivo funciona com suporte multiusuário . Isso significa que vários motoristas podem usar o mesmo veículo da empresa, mas preservam e evitam que a privacidade de seus dados seja exposta a outros motoristas usando seus próprios Usuários.

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

As compilações automotivas normalmente usam o modo de usuário do sistema headless, caso em que o Device Policy Controller (DPC) seria 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 deve afiliar os usuários do PO, pois algumas APIs (como requestBugreport() ) só estão disponíveis se todos os usuários forem afiliados. Em seguida, o administrador remoto deve selecionar o DPC adequado para executar ações. Se a ação estiver associada ao dispositivo (como redefinição de fábrica através de wipeData() ), ele deverá usar o DO DPC. Se estiver associado a um usuário (como addUserRestriction() ), deverá usar o PO DPC.

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

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