Gestión de dispositivos para automoción

La administración de dispositivos le permite administrar de forma remota un vehículo con Android Automotive OS (AAOS). Por ejemplo, el propietario de un vehículo puede querer restablecer de forma remota la unidad de infoentretenimiento.

En Automoción, ofrecemos dos categorías de gestión de dispositivos:

  • Dispositivo personal. Un vehículo es propiedad de un consumidor. El propietario del vehículo gestiona el coche de forma remota. Por ejemplo, el propietario usa la aplicación móvil del vehículo para realizar de forma remota un restablecimiento de fábrica de la unidad de infoentretenimiento.
  • Dispositivo empresarial. Un vehículo es propiedad de una empresa u organización. Un administrador gestiona el coche de forma remota.

Dispositivos personales

En un escenario de dispositivo personal, la administración remota del vehículo requiere considerar el estado de manejo del automóvil. Por ejemplo, si el propietario del vehículo activa de forma remota un restablecimiento de fábrica, el vehículo no debería restablecerse de fábrica si otra persona lo conduce activamente.

Por lo tanto, tenemos un conjunto de API de administración de dispositivos integradas con restricciones de estado de la unidad. Estas API pueden ser llamadas por cualquier aplicación del sistema (aplicaciones preinstaladas en la partición del sistema) con los permisos correctos.

API de administración de dispositivos personales

API Objetivo
CarDevicePolicyManager.createUser()

Crea un nuevo usuario en el dispositivo en segundo plano.

¿Cómo interactúa con el estado de la unidad?

Se crea un nuevo usuario en segundo plano, independientemente del estado de la unidad.

CarDevicePolicyManager.RemoveUser()

Elimina un usuario existente en el dispositivo.

¿Cómo interactúa con el estado de la unidad?

Si el Usuario objetivo está en:

  • Antecedentes, procede la operación.
  • En primer plano y el automóvil está ESTACIONADO o al ralentí , la operación continúa.
  • Primer plano y el automóvil se está MOVIENDO , se lanza un código de excepción.
DevicePolicyManager.lockNow()

Bloquea un usuario existente en el dispositivo. Si el usuario tiene credenciales de pantalla de bloqueo existentes (por ejemplo, un PIN o un patrón), la pantalla permanece encendida.

¿Cómo interactúa esto con el estado de la unidad?

Si el Usuario objetivo está en:

  • Fondo , la operación procede.
  • En primer plano y el automóvil está ESTACIONADO o, EN RALENTÍ o EN MOVIMIENTO , continuará si el usuario está en primer plano (independientemente del estado de conducción), o se ignorará de lo contrario. lockNow() no está restringido por el estado de distracción de UX.
DevicePolicyManager.resetPassword()

Bloquea a un usuario existente en el dispositivo configurando una credencial de pantalla de bloqueo, si el usuario no tiene credenciales existentes. La pantalla permanece encendida.

¿Cómo interactúa con el estado de la unidad?

Si el Usuario objetivo está en:

  • Fondo , la operación procede.
  • En primer plano y el coche está ESTACIONADO o, en RALENTÍ , la operación continúa.
  • Primer plano y el automóvil se está MOVIENDO , se lanza un código de excepción.
DevicePolicyManager.wipeData()

Activa un restablecimiento de fábrica en el dispositivo.

¿Cómo interactúa con el estado de la unidad?

Independientemente del estado de la unidad ( PARKED , IDLING o MOVING ), la operación continúa. El sistema publica una notificación para informar al conductor que se requiere un restablecimiento de fábrica.

Cuando el vehículo está ESTACIONADO, el conductor puede interactuar con la notificación para elegir reiniciar el dispositivo ahora o más tarde (la próxima vez que arranque el automóvil).

Por ejemplo:

Notificación de restablecimiento de fábrica

Figura 1. El sistema publica una notificación cuando se activa el restablecimiento de fábrica.

El vehículo está ESTACIONADO

Figura 2. Cuando el vehículo está ESTACIONADO, el conductor puede interactuar con la notificación para elegir reiniciar el dispositivo ahora o más tarde (la próxima vez que arranque el automóvil).

El conductor elige Restablecer

Figura 3. Si el conductor elige Restablecer más tarde, un mensaje de brindis indica que el dispositivo se restablecerá de fábrica la próxima vez que arranque el automóvil.

Dispositivos empresariales

Los dispositivos con sistema operativo Android Automotive que ejecutan Android T (AOSP experimental) SC V2 y posterior pueden declarar compatibilidad con la función android.software.device_admin para habilitar las API de administración de dispositivos empresariales (para obtener más información, consulte DevicePolicyManager ). Luego, una organización puede usar una aplicación de controlador de políticas de dispositivos (DPC) para controlar las políticas de dispositivos locales y las aplicaciones del sistema en el dispositivo.

Automotive no admite perfiles de trabajo , lo que significa que la única solución de administración admitida es un dispositivo totalmente administrado , que está diseñado para dispositivos propiedad de la empresa sobre los cuales la organización tiene un control de administración completo.

Las empresas que gestionan el vehículo de forma remota también deben tener en cuenta el estado de conducción del coche. Por lo tanto, las acciones remotas específicas también se integran con el estado de conducción de un vehículo. Por ejemplo, el flujo de restablecimiento de fábrica en DevicePolicyManager.setFactoryResetProtectionPolicy() también se aplica a vehículos habilitados para empresas.

Cualquier API del código DevicePolicyManager > puede generar una excepción (por ejemplo, si el vehículo se está moviendo). A continuación se proporciona una lista parcial de código de DevicePolicyManager > API. Para obtener más información, consulte Descripción general de la administración de dispositivos .

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

Administración de dispositivos empresariales para múltiples usuarios

La administración de dispositivos para Automoción funciona con Soporte multiusuario . Esto significa que varios conductores pueden usar el mismo vehículo propiedad de la empresa, pero preservar y evitar que la privacidad de sus datos quede expuesta a otros conductores al usar sus propios usuarios.

El administrador puede usar una aplicación de controlador de políticas de dispositivos (DPC) como se describe en Crear un controlador de políticas de dispositivos para controlar las políticas de todo el dispositivo o específicas del usuario.

Las compilaciones automotrices generalmente usan el modo de usuario del sistema sin cabeza, en cuyo caso el controlador de políticas del dispositivo (DPC) se configuraría como el propietario del dispositivo (DO) del usuario del sistema y el propietario del perfil (PO) de todos los demás usuarios. El administrador remoto debe afiliar a los usuarios de PO, ya que algunas API (como requestBugreport() ) solo están disponibles si todos los usuarios están afiliados. Luego, el administrador remoto debe seleccionar el DPC adecuado para ejecutar acciones. Si la acción está asociada al dispositivo (como el restablecimiento de fábrica a través wipeData() ), debe usar DO DPC. Si está asociado con un Usuario (como addUserRestriction() ), debe usar el PO DPC.

La aplicación DPC necesita un IPC entre el DO y el PO. Sugerimos la API de Connect Apps descrita en Aplicaciones personales y de trabajo conectadas .

Para obtener más información sobre cómo una aplicación de DPC administra varios usuarios, consulte Usuarios afiliados .