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:
|
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:
|
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:
|
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:
Figura 1. O sistema envia uma notificação quando a redefinição para a configuração original é acionada.
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).
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 DevicePolicyManager
code> pode gerar uma exceção (por exemplo,
se o veículo estiver em movimento). Confira abaixo uma lista parcial de APIs DevicePolicyManager
code>. 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.
Para mais informações sobre como um app de DPC gerencia vários usuários, consulte Usuários afiliados.