Gestión de dispositivos para automoción

La administración de dispositivos le permite administrar de forma remota un vehículo que ejecuta el sistema operativo Android Automotive (AAOS). Por ejemplo, es posible que el propietario de un vehículo desee restablecer de forma remota la configuración de fábrica de 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 vehículo de forma remota. Por ejemplo, el propietario utiliza 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 el caso de un dispositivo personal, la gestión remota del vehículo requiere considerar el estado de conducción del vehículo. Por ejemplo, si el propietario del vehículo activa de forma remota un restablecimiento de fábrica, el vehículo no debe 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 unidad. Cualquier aplicación del sistema (aplicaciones preinstaladas en la partición del sistema) puede llamar a estas API 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 del disco?

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 del disco?

Si el Usuario objetivo se encuentra en:

  • Antecedentes, la operación continúa.
  • En primer plano y el coche está APARCADO o EN RALENTÍ , la operación continúa.
  • En primer plano y el automóvil está EN MOVIMIENTO , se genera un código de excepción.
DevicePolicyManager.lockNow()

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

¿Cómo interactúa esto con el estado del disco?

Si el Usuario objetivo se encuentra en:

  • Antecedentes , la operación continúa.
  • 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 del disco?

Si el Usuario objetivo se encuentra en:

  • Antecedentes , la operación continúa.
  • En primer plano y el coche está APARCADO o, EN RALENTÍ , continúa la operación.
  • En primer plano y el automóvil está EN MOVIMIENTO , se genera un código de excepción.
DevicePolicyManager.wipeData()

Activa un restablecimiento de fábrica en el dispositivo.

¿Cómo interactúa con el estado del disco?

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 restablecer 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 restablecer 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 Reiniciar más tarde, un mensaje de brindis indica que el dispositivo se restablecerá a los valores de fábrica la próxima vez que encienda el automóvil.

Dispositivos empresariales

Los dispositivos con sistema operativo Android Automotive que ejecutan Android 13 y versiones posteriores 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 compatible es un dispositivo totalmente administrado , que está destinado a dispositivos propiedad de la empresa sobre los cuales la organización tiene control de administración total.

Las empresas que gestionan el vehículo de forma remota también deben considerar el estado de conducción del vehículo. Por lo tanto, 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 está en movimiento). A continuación se proporciona una lista parcial de las API del código DevicePolicyManager . 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()

Gestión de dispositivos empresariales para múltiples usuarios

La gestión de dispositivos para automoción funciona con soporte multiusuario . Esto significa que varios conductores pueden utilizar el mismo vehículo propiedad de la empresa, pero preservan y evitan que la privacidad de sus datos quede expuesta a otros conductores al utilizar 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 políticas específicas del usuario o para todo el dispositivo.

Las versiones automotrices suelen utilizar el modo de usuario del sistema sin cabeza, en cuyo caso el controlador de políticas de dispositivo (DPC) se establecerí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 de 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 que se describe en Aplicaciones personales y de trabajo conectadas .

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