En las funciones de esta guía, se describen las capacidades de administración de dispositivos que puedes implementar en tu app de controlador de políticas de dispositivos (DPC). También puedes usar la app de TestDPC como fuente de código de muestra para las funciones empresariales de Android.
Una app de DPC puede ejecutarse en el modo de propietario de perfil en dispositivos personales o en el modo de propietario del dispositivo en dispositivos completamente administrados. En esta tabla, se indican las funciones disponibles cuando el DPC se ejecuta en el modo de propietario del perfil o en el modo de propietario del dispositivo:
Crea un mensaje personalizado para la pantalla de bloqueo
Cuando se ejecuta en el modo de propietario del dispositivo, un DPC puede crear un mensaje personalizado de la pantalla de bloqueo en los dispositivos de sus usuarios con el método setDeviceOwnerLockScreenInfo
. Este mensaje se muestra en la pantalla del dispositivo cuando está bloqueado y es útil para dispositivos perdidos o robados. Un mensaje común es "Este teléfono pertenece a <company name>
. Si lo encuentras, llama a <phone number>
".
Inhabilita el roaming de datos
El roaming de datos puede generar cargos significativos en las facturas de los operadores de telefonía celular. Para ayudar a optimizar esos costos, un DPC que se ejecuta en el modo de propietario del dispositivo puede inhabilitar el roaming de datos configurando la restricción DISALLOW_DATA ROAMING
. Una vez que el DPC establece la restricción del usuario, este no puede cambiar el roaming de datos con la opción Configuración en su dispositivo.
Muestra un mensaje personalizado a los usuarios si se bloquea un parámetro de configuración
Cuando un usuario hace clic en un parámetro de configuración o una función bloqueados por su departamento de TI, el mensaje de asistencia brinda una breve explicación de por qué no puede acceder a la función.
Estos mensajes pueden ser más descriptivos que "No se permite la acción". Un DPC que se ejecuta en el modo de propietario del dispositivo o del perfil puede personalizar estos mensajes con los métodos DevicePolicyManager
setShortSupportMessage()
y setLongSupportMessage()
.
Crea mensajes de asistencia
Para explicar por qué un parámetro de configuración está restringido, puedes usar mensajes cortos o largos:
Para crear un mensaje corto, usa el método
setShortSupportMessage()
.- El mensaje breve tiene un límite de 200 caracteres.
- Un mensaje común es "Tu administrador inhabilitó este parámetro de configuración. Comunícate con 'yourITdepartment@example.com' para obtener asistencia".
Para crear un mensaje largo, usa el método
setLongSupportMessage()
. El usuario puede ver este mensaje en su dispositivo en Configuración > Seguridad > Administradores del dispositivo y, luego, seleccionar un administrador específico.
Si alguno de estos mensajes debe traducirse, DeviceAdminReceiver
debe escuchar la transmisión de ACTION_LOCALE_CHANGED
y establecer una versión nueva de esta cadena según corresponda.
Bloquear el fondo de pantalla
Las organizaciones, como las instituciones educativas o las empresas, que ejecutan dispositivos Android como dispositivos compartidos pueden impedir que los usuarios cambien el fondo de pantalla de la pantalla principal del dispositivo.
Para bloquear el fondo de pantalla, un DPC que se ejecuta en el modo de propietario del dispositivo o del propietario del perfil puede establecer DISALLOW_SET_WALLPAPER
en true
. El valor predeterminado para este parámetro de configuración es false
.
Bloquea el ícono de usuario del cliente
Un DPC que se ejecuta en el modo de propietario del dispositivo o del perfil puede agregar usuarios y especificar un ícono para cada uno. Este ícono de usuario solo está en el dispositivo y es independiente del ícono de perfil que aparece en otras propiedades de Google, como un mensaje de Gmail o el perfil de Google Plus.
Un DPC puede configurar DISALLOW_SET_USER_ICON
en true
para restringir que un usuario cambie su ícono. El valor predeterminado para este parámetro de configuración es false
.
Supervisa el estado y el funcionamiento de los dispositivos de forma remota
Un DPC que se ejecuta en el modo de propietario de dispositivo o propietario de perfil puede supervisar dispositivos desatendidos que se ejecutan en una ubicación remota, como pantallas de señalización digital o kioscos que se ejecutan en dispositivos Android. Para ello, un DPC usa la interfaz HardwarePropertiesManager
para obtener información sobre el estado del dispositivo, como las temperaturas de la GPU y el uso de la CPU. Esto es útil para diagnosticar problemas con dispositivos que se apagan automáticamente debido a sobrecalentamiento o a otros problemas.
Para acceder al servicio de Hardware Property Manager del dispositivo, usa Context.getSystemService()
con la cadena Context.HARDWARE_PROPERTIES_SERVICE
.
Cómo reiniciar un dispositivo Android de forma remota
Un DPC puede reiniciar dispositivos Android de forma remota solo cuando se ejecuta en el modo de propietario del dispositivo. En algunos casos, los dispositivos implementados en lugares públicos dentro de recintos o como pantallas de señalización digital pueden impedir el acceso fácil al botón de encendido. Si se debe reiniciar un dispositivo, un DPC puede hacerlo con el método DevicePolicyManager.reboot()
.
Un dispositivo no se reinicia si hay una llamada en curso. El dispositivo debe estar en estado inactivo para reiniciarse. Esto evita que un administrador interrumpa la llamada telefónica de un usuario con una solicitud de reinicio. Si el dispositivo está activo, arroja un IllegalStateException
hasta CALL_STATE_IDLE
.
Cómo impedir que los usuarios envíen archivos por Bluetooth
Los propietarios de dispositivos y perfiles pueden evitar que los usuarios envíen archivos a través de Bluetooth con DISALLOW_BLUETOOTH_SHARING
. No se verán afectados los archivos que recibas. Cuando lo establece el propietario de un dispositivo, DISALLOW_BLUETOOTH_SHARING
se aplica a todos los usuarios del dispositivo.
Esta opción permite que los administradores de TI controlen el comportamiento de Compartir rápido.