page.title=Actualizaciones de Android for Work page.metaDescription=Nuevas API y funciones de Android for Work en Android N. page.keywords="android for work", "android N", "enterprise", "QR code" @jd:body <div id="qv-wrapper"> <div id="qv"> <h2>En este documento</h2> <ol> <li><a href="#qr">Provisión de código QR </a></li> <li><a href="#sec-challenge">Comprobación de seguridad para perfiles de trabajo </a></li> <li><a href="#suspend">Inhabilitar acceso a aplicaciones </a></li> <li><a href="#toggle-work">Activar o desactivar el modo de trabajo </a></li> <li><a href="#always-on-vpn">VPN siempre visibles </a></li> <li><a href="#contacts">Integración de contactos con el perfil de trabajo </a></li> <li><a href="#remote-reboot">Reinicio remoto </a></li> <li><a href="#disable-roaming">Inhabilitar roaming de datos </a></li> <li><a href="#process-logging">Registros de procesos empresariales </a></li> <li><a href="#bug-reports">Informes de errores remotos </a></li> <li><a href="#remove-cert">Quitar un certificado de cliente </a></li> <li><a href="#grant-cert-on-install">Otorgar acceso a certificado de cliente en la instalación</a></li> <li><a href="#ui-policy">Transparencia de la política de IU del sistema </a></li> <li><a href="#restrictions-mgmt">Mejoras en la administración de restricciones de aplicaciones </a></li> <li><a href="#location-off">Interruptor de desactivación de los servicios de ubicación </a></li> <li><a href="#custom-provisioning">Provisión personalizada </a></li> <li><a href="#multi-wifi-ca">Múltiples certificados de CA de Wi-Fi </a></li> <li><a href="#custom-lock">Mensaje personalizado en la pantalla bloqueada </a></li> <li><a href="#work-connectionservice">ConnectionService del perfil de trabajo </a></li> <li><a href="#lock-wp">Bloquear fondo de pantalla </a></li> <li><a href="#lock-user-icon">Bloquear ícono de usuario </a></li> <li><a href="#health-monitoring">Control del estado del dispositivo </a></li> </ol> <h2>Consulta también</h2> <ul> <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK </a></li> </ul> </div> </div> <p>En este documento, se describen las nuevas funciones de Android for Work que se proporcionan en Android N.</p> <h2 id="qr">Provisión de código QR</h2> <p> Android for Work ahora es compatible con la utilización de códigos QR para aprovisionar dispositivos de responsabilidad corporativa. Gracias al asistente de configuración, ahora puedes escanear un código QR para aprovisionar el dispositivo. </p> <h2 id="sec-challenge">Comprobación de seguridad para perfiles de trabajo</h2> <p> Los propietarios de perfiles pueden solicitar que los usuarios especifiquen una comprobación de seguridad para las aplicaciones que se ejecutan en el perfil de trabajo. Dicha comprobación se muestra en el sistema cuando el usuario intenta abrir cualquier aplicación de trabajo. Si el usuario completa con éxito la comprobación de seguridad, el sistema desbloquea el perfil de trabajo y lo descifra si es necesario. </p> <p> Si el propietario de un perfil envía una intent {@link android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD}, el sistema le pide al usuario que configure una comprobación de seguridad. El propietario del perfil también puede enviar una intent <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> para que el usuario establezca un bloqueo de dispositivo. </p> <p> Los propietarios de perfiles pueden elegir establecer las políticas de contraseña para la comprobación del perfil de trabajo de modo que sean diferentes de aquellas para las contraseñas de otros dispositivos. Por ejemplo, la longitud mínima para la respuesta de comprobación del dispositivo puede ser diferente de la longitud necesaria para otras contraseñas. Los propietarios de perfiles establecen las políticas de comprobación mediante los métodos {@link android.app.admin.DevicePolicyManager} comunes, como por ejemplo, {@link android.app.admin.DevicePolicyManager#setPasswordQuality setPasswordQuality()} y {@link android.app.admin.DevicePolicyManager#setPasswordMinimumLength setPasswordMinimumLength()}. El propietario del perfil también puede establecer el bloqueo del dispositivo mediante la utilización de la instancia de{@link android.app.admin.DevicePolicyManager} devuelta por el nuevo método <code>DevicePolicyManager.getParentProfileInstance()</code> . Además, los propietarios de perfiles pueden personalizar la pantalla de credenciales para la comprobación de trabajo mediante la utilización de los nuevos métodos de la clase{@link android.app.admin.DevicePolicyManager} <code>setOrganizationColor()</code> y <code>setOrganizationName()</code>. </p> <p> Para obtener detalles sobre los nuevos métodos y constantes, consulta la página de referencia de <code>DevicePolicyManager</code> en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK</a>. </p> <h2 id="suspend">Inhabilitar acceso a aplicaciones</h2> <p> Los propietarios de perfiles y dispositivos pueden suspender temporariamente el acceso a los paquetes mediante una llamada al nuevo método <code>DevicePolicyManager.setPackagesSuspended()</code> . Los propietarios pueden utilizar el mismo método para volver a habilitar esos paquetes. </p> <p> Mientras un paquete está suspendido, este no puede comenzar actividades, se suprimen las notificaciones al paquete y se oculta la entrada de la aplicación en la <a href="{@docRoot}guide/components/recents.html">pantalla de información general</a>. Los paquetes suspendidos no aparecen en la <a href="{@docRoot}guide/components/recents.html">pantalla de información general</a> y no pueden mostrar diálogos (incluidos avisos y snackbars). Además, no pueden reproducir audio ni hacer vibrar el dispositivo. </p> <p> Los lanzadores deben aplicar una IU distintiva para las aplicaciones suspendidas a fin de mostrar que las aplicaciones no están actualmente disponibles; por ejemplo, el ícono de la aplicación puede aparecer en color gris. Los lanzadores pueden averiguar si una aplicación está suspendida llamando al nuevo método <code>DevicePolicyManager.getPackageSuspended()</code>. </p> <h2 id="toggle-work">Activar o desactivar el modo de trabajo</h2> <p> En dispositivos de perfil doble, los usuarios pueden activar o desactivar el modo de trabajo. Mientras este último está desactivado, el perfil administrado se encuentra inactivo temporariamente. Se inhabilitan todas las aplicaciones del perfil de trabajo, la sincronización en segundo plano y las notificaciones, incluida la aplicación del propietario del perfil. Mientras el perfil de trabajo está deshabilitado, en el sistema se muestra un ícono de estado persistente para recordarles a los usuarios que no pueden iniciar aplicaciones de trabajo. El launcher del sistema indica que no se puede acceder a aplicaciones ni widgets de trabajo. </p> <h2 id="always-on-vpn">VPN siempre visibles</h2> <p> Los propietarios de dispositivos y perfiles pueden solicitar que las aplicaciones de trabajo siempre se conecten a la red a través de una VPN especificada. Si los propietarios establecen este requisito, el dispositivo inicia automáticamente esa VPN en el inicio. </p> <p> Los propietarios pueden requerir el uso de una VPN llamando al nuevo método <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code>. Para averiguar si el propietario ha establecido un requisito de VPN, llama al nuevo método <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code>. </p> <p> Debido a que los servicios de VPN pueden enlazarse directamente a través del sistema sin interacción con aplicaciones, los clientes de VPN deben administrar nuevos puntos de entrada para VPN siempre visibles. Como antes, puedes encontrar servicios activos mediante la utilización de un filtro de intent que coincida con la acción {@link android.net.VpnService android.net.VpnService}. </p> <p> Para configurar manualmente un cliente de VPN que esté siempre visible y que implemente {@link android.net.VpnService}, los usuarios deben ir a <strong>Settings > More > pantalla VPN</strong>. </p> <h2 id="contacts">Integración de contactos con el perfil de trabajo</h2> <p> Los propietarios de perfiles pueden permitir la búsqueda local y la búsqueda en directorio de los contactos de trabajo a partir del usuario principal. Por ejemplo, un usuario puede acceder a contactos personales y laborales del directorio desde el teléfono personal o la aplicación de contactos (si así lo permite el administrador del perfil). </p> <p> Los desarrolladores que aprovechan el proveedor de contactos pueden utilizar la API de contactos empresariales para acceder a las entradas del directorio del perfil de trabajo desde el usuario principal si así lo permiten las siguientes políticas: </p> <ul> <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code> </li> <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code> </li> <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code> </li> <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code> </li> <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code> </li> <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code> </li> </ul> <p> Los propietarios de perfiles pueden controlar la visibilidad de los contactos laborales en el usuario principal por medio de los nuevos métodos a continuación: </p> <ul> <li> <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code> </li> <li> <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code> </li> </ul> <h2 id="remote-reboot">Reinicio remoto</h2> <p> Los propietarios pueden reiniciar sus dispositivos de forma remota. En algunos casos, no se puede acceder al botón de encendido de los dispositivos implementados en lugares públicos dentro de recintos. Si se debe reiniciar un dispositivo, los administradores pueden hacerlo utilizando el nuevo método <code>DevicePolicyManager.reboot()</code>. </p> <h2 id="disable-roaming">Inhabilitar roaming de datos</h2> <p> Los propietarios de dispositivos pueden inhabilitar el roaming de datos mediante la nueva restricción de usuario de {@link android.os.UserManager} denominada <code>DISALLOW_DATA_ROAMING</code>. </p> <h2 id="process-logging">Registros de procesos empresariales</h2> <p> Los propietarios de dispositivos pueden identificar actividades sospechosas mediante un rastreo remoto de la actividad del dispositivo, incluidos inicios de aplicaciones, actividad adb y desbloqueos de pantalla. Los registros de procesos no requieren del consentimiento del usuario. Para recuperar registros, los propietarios de dispositivos habilitan los registros de dispositivos mediante <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>. </p> <p> Entre los cambios en la API, se incluyen los siguientes: </p> <ul> <li> La nueva clase <code>android.app.admin.SecurityLog</code> y sus métodos </li> <li> <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code> </li> <li> <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code> </li> <li> <code>List<SecurityEvent> DevicePolicyManager.retrieveSecurityLogs()</code> </li> <li> <code>List<SecurityEvent> DevicePolicyManager.retrievePreRebootSecurityLogs()</code> </li> <li> <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code> </li> </ul> <h2 id="bug-reports">Informes de errores remotos</h2> <p> Los propietarios de dispositivos pueden activar y recuperar de forma remota un informe de errores que contenga un archivo de descarga sobre el estado del dispositivo, lo que permite llevar a cabo una investigación forense de un incidente conocido o un dispositivo afectado. Debido a la naturaleza detallada del informe de errores, se requiere el consentimiento del usuario. </p> <p> Android N incluye los siguientes agregados de API para ofrecer compatibilidad con esta función. Para obtener detalles, consulte la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK </a>. </p> <ul> <li> <code>DevicePolicyManager.requestBugreport()</code> </li> <li> <code>DeviceAdminReceiver.onBugreportFailed()</code> </li> <li> <code>DeviceAdminReceiver.onBugreportShared()</code> </li> <li> <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code> </li> <li> <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code> </li> <li> <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code> </li> </ul> <h2 id="remove-cert">Quitar un certificado de cliente</h2> <p> Los propietarios de perfiles y dispositivos ahora pueden quitar certificados de cliente que se instalaron a través de {@link android.app.admin.DevicePolicyManager#installKeyPair installKeyPair()} llamando al nuevo método <code>DevicePolicyManager.removeKeyPair()</code>. </p> <h2 id="grant-cert-on-install">Otorgar acceso a certificado de cliente en la instalación</h2> <p> Si un propietario de perfil o dispositivo otorga a una aplicación de terceros la capacidad de administrar certificados, dicha aplicación puede acceder por sí sola a los certificados que instala sin intervención alguna por parte del propietario. </p> <p> La API existente para administrar certificados se extiende para incluir lo siguiente: </p> <ul> <li><code>DevicePolicyManager.installKeyPair()</code> </li> </ul> <h2 id="ui-policy">Transparencia de la política de IU del sistema</h2> <p> Las políticas que afectan la experiencia del usuario o restringen las configuraciones del usuario se divulgan en su totalidad al usuario, y los propietarios de perfiles y dispositivos pueden atribuir la política al departamento de TI de la empresa. Además de un mensaje “Action not allowed” consistente en Settings, los administradores de TI pueden configurar un mensaje de soporte específico para la organización en la configuración del dispositivo con los nuevos métodos{@link android.app.admin.DevicePolicyManager} a continuación: </p> <ul> <li> <code>DevicePolicyManager.setShortSupportMessage()</code> </li> <li> <code>DevicePolicyManager.setLongSupportMessage()</code> </li> </ul> <h2 id="restrictions-mgmt">Mejoras en la administración de las restricciones de aplicaciones</h2> <p> El propietario del dispositivo o perfil puede habilitar otra aplicación para que administre las restricciones de aplicaciones mediante el nuevo método <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code> . La aplicación nominada puede controlar si se otorgó este permiso llamando a <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>. </p> <p> Una aplicación nominada para administrar restricciones de aplicaciones puede llamar a {@link android.app.admin.DevicePolicyManager#setApplicationRestrictions setApplicationRestrictions()} y {@link android.app.admin.DevicePolicyManager#getApplicationRestrictions getApplicationRestrictions()} para cualquier paquete dentro de ese usuario o perfil. </p> <h2 id="location-off">Interruptor de desactivación de los servicios de ubicación</h2> <p> Los usuarios pueden inhabilitar los permisos de ubicación para las aplicaciones de trabajo mientras continúan accediendo a información sobre ubicación en sus aplicaciones personales. Mediante un interruptor independiente de acceso a información de ubicación en Location Settings, los usuarios pueden denegar las actualizaciones de ubicación o las consultas de última ubicación para las aplicaciones que se ejecutan en el perfil de trabajo. </p> <p> Gracias al interruptor de desactivación de servicios de ubicación de nivel superior, se inhabilita el acceso a este tipo de información para el perfil principal y el perfil administrado. </p> <h2 id="custom-provisioning">Aprovisionamiento personalizado</h2> <p> En una aplicación se pueden personalizar los flujos de provisión del propietario del perfil y del propietario del dispositivo con logos y colores corporativos. </p> <dl> <dt> <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code> </dt> <dd> Permite personalizar el color del flujo. </dd> <dt> <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code> </dt> <dd> Permite personalizar el flujo con un logo corporativo. </dd> </dl> <h2 id="multi-wifi-ca">Múltiples certificados de CA de Wi-Fi</h2> <p> Los propietarios de perfiles y dispositivos pueden configurar múltiples certificados de CA para una configuración de Wi-Fi determinada. Cuando las redes de Wi-Fi corporativas tienen CA independientes para diferentes puntos de acceso con el mismo SSID, los administradores de TI pueden incluir todas las CA relevantes en la configuración Wi-Fi utilizando el nuevo método <code>setCaCertificates()</code>. </p> <p> Las API que se agregaron son las siguientes: </p> <ul> <li> <code>WifiEnterpriseConfig.setCaCertificates()</code> </li> <li> <code>WifiEnterpriseConfig.getCaCertificates()</code> </li> </ul> <h2 id="custom-lock">Mensaje personalizado en la pantalla bloqueada</h2> <p> Los propietarios de dispositivos pueden proporcionar información de propietario para que aparezca en la pantalla bloqueada. Esta información prevalece sobre el mensaje de la pantalla bloqueada del usuario (si se configuró uno). Los nuevos métodos {@link android.app.admin.DevicePolicyManager} son los siguientes: </p> <ul> <li> <code>setDeviceOwnerLockScreenInfo()</code> </li> <li> <code>getDeviceOwnerLockScreenInfo()</code> </li> </ul> <h2 id="work-connectionservice">ConnectionService del perfil de trabajo</h2> <p> Los propietarios de perfiles pueden especificar una aplicación de teléfono de trabajo que utilice un {@link android.telecom.ConnectionService} específico del trabajo para el backend de llamadas (cuentas de llamadas). El teléfono de trabajo lleva únicamente un registro de llamadas de trabajo y depende solo de contactos laborales. Los usuarios tienen una experiencia de IU de llamada entrante consistente independientemente de la aplicación de marcación. Las llamadas laborales que ingresan en las cuentas de llamadas de trabajo se distinguen de las llamadas personales que ingresan en las cuentas de llamadas personales. </p> <p> El teléfono debe controlar el nuevo marcador <code>android.telecom.Call.PROPERTY_WORK_CALL</code> para determinar si una llamada es de tipo laboral. Si se trata de una llamada laboral, el teléfono debe indicarlo , por ejemplo, mediante el agregado de una insignia de trabajo. </p> <h2 id="lock-wp">Bloquear fondo de pantalla</h2> <p> Mediante una nueva restricción de usuario (<code>DISALLOW_SET_WALLPAPER</code>), se evita que el usuario modifique el fondo de pantalla. Los propietarios de dispositivos o perfiles aún pueden modificar el fondo de pantalla. Sin embargo, solo pueden hacerlo para el usuario o perfil que controlan. Por ejemplo, el propietario de un perfil no puede modificar el fondo de pantalla del usuario primario, pero sí pueden hacerlo el propietario de un dispositivo o el propietario de un perfil en el perfil principal. El propietario de un dispositivo o perfil que desea modificar el fondo de pantalla debe controlar si el usuario o perfil que administra posee un fondo de pantalla ({@link android.app.WallpaperManager#isWallpaperSupported isWallpaperSupported()}) y si puede modificarlo (con el nuevo método <code>WallpaperManager.isWallpaperSettingAllowed()</code>). </p> <h2 id="lock-user-icon">Bloquear ícono de usuario</h2> <p> Mediante una nueva restricción de usuario (<code>DISALLOW_SET_USER_ICON</code>), se evita que el usuario modifique el ícono de usuario. El propietario del dispositivo o del perfil del usuario aún puede modificar el ícono. Sin embargo, un propietario de perfil solo puede modificar el ícono de usuario del perfil que controla. </p> <h2 id="health-monitoring">Control del estado del dispositivo</h2> <p> El propietario de un perfil o dispositivo puede usar la nueva interfaz <code>HardwarePropertiesManager</code> para recuperar información sobre el estado del dispositivo, como por ejemplo, las temperaturas de CPU o GPU y el uso de la CPU. La nueva interfaz de control es especialmente útil para controlar dispositivos sin supervisión que se ejecutan en una ubicación remota. </p>