1page.title=Actualizaciones de Android for Work 2page.metaDescription=Nuevas API y funciones de Android for Work en Android N. 3page.keywords="android for work", "android N", "enterprise", "QR code" 4 5@jd:body 6 7<div id="qv-wrapper"> 8 <div id="qv"> 9 <h2>En este documento</h2> 10 <ol> 11 <li><a href="#qr">Provisión de código QR 12 </a></li> 13 14 <li><a href="#sec-challenge">Comprobación de seguridad para perfiles de trabajo 15 </a></li> 16 17 <li><a href="#suspend">Inhabilitar acceso a aplicaciones 18 </a></li> 19 20 <li><a href="#toggle-work">Activar o desactivar el modo de trabajo 21 </a></li> 22 23 <li><a href="#always-on-vpn">VPN siempre visibles 24 </a></li> 25 26 <li><a href="#contacts">Integración de contactos con el perfil de trabajo 27 </a></li> 28 29 <li><a href="#remote-reboot">Reinicio remoto 30 </a></li> 31 32 <li><a href="#disable-roaming">Inhabilitar roaming de datos 33 </a></li> 34 35 <li><a href="#process-logging">Registros de procesos empresariales 36 </a></li> 37 38 <li><a href="#bug-reports">Informes de errores remotos 39 </a></li> 40 41 <li><a href="#remove-cert">Quitar un certificado de cliente 42 </a></li> 43 44 <li><a href="#grant-cert-on-install">Otorgar acceso a certificado de cliente 45 en la instalación</a></li> 46 47 <li><a href="#ui-policy">Transparencia de la política de IU del sistema 48 </a></li> 49 50 <li><a href="#restrictions-mgmt">Mejoras en la administración de restricciones de aplicaciones 51 </a></li> 52 53 <li><a href="#location-off">Interruptor de desactivación de los servicios de ubicación 54 </a></li> 55 56 <li><a href="#custom-provisioning">Provisión personalizada 57 </a></li> 58 59 <li><a href="#multi-wifi-ca">Múltiples certificados de CA de Wi-Fi 60 </a></li> 61 62 <li><a href="#custom-lock">Mensaje personalizado en la pantalla bloqueada 63 </a></li> 64 65 <li><a href="#work-connectionservice">ConnectionService del perfil de trabajo 66 </a></li> 67 68 <li><a href="#lock-wp">Bloquear fondo de pantalla 69 </a></li> 70 71 <li><a href="#lock-user-icon">Bloquear ícono de usuario 72 </a></li> 73 74 <li><a href="#health-monitoring">Control del estado del dispositivo 75 </a></li> 76 77 </ol> 78 79 <h2>Consulta también</h2> 80 <ul> 81 <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK 82 </a></li> 83 </ul> 84 </div> 85</div> 86 87<p>En este documento, se describen las nuevas funciones de Android for Work que se proporcionan en 88Android N.</p> 89 90<h2 id="qr">Provisión de código QR</h2> 91 92<p> 93 Android for Work ahora es compatible con la utilización de códigos QR para aprovisionar dispositivos 94 de responsabilidad corporativa. Gracias al asistente de configuración, ahora puedes escanear un código QR para aprovisionar 95 el dispositivo. 96</p> 97 98<h2 id="sec-challenge">Comprobación de seguridad para perfiles de trabajo</h2> 99 100<p> 101 Los propietarios de perfiles pueden solicitar que los usuarios especifiquen una comprobación de seguridad para las aplicaciones 102 que se ejecutan en el perfil de trabajo. Dicha comprobación se muestra en el sistema cuando el 103 usuario intenta abrir cualquier aplicación de trabajo. Si el usuario completa con éxito la 104 comprobación de seguridad, el sistema desbloquea el perfil de trabajo y lo descifra 105 si es necesario. 106</p> 107 108<p> 109 Si el propietario de un perfil envía una intent {@link 110 android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD}, el 111 sistema le pide al usuario que configure una comprobación de seguridad. El propietario del perfil también puede 112 enviar una intent <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> 113 para que el usuario establezca un bloqueo de dispositivo. 114</p> 115 116<p> 117 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 118 diferentes de aquellas para las contraseñas de otros dispositivos. Por ejemplo, la 119 longitud mínima para la respuesta de comprobación del dispositivo puede ser diferente de la 120 longitud necesaria para otras contraseñas. Los propietarios de perfiles establecen las políticas de 121 comprobación mediante los métodos {@link android.app.admin.DevicePolicyManager} 122 comunes, como por ejemplo, {@link 123 android.app.admin.DevicePolicyManager#setPasswordQuality 124 setPasswordQuality()} y {@link 125 android.app.admin.DevicePolicyManager#setPasswordMinimumLength 126 setPasswordMinimumLength()}. El propietario del perfil también puede establecer el bloqueo del dispositivo mediante 127 la utilización de la instancia de{@link android.app.admin.DevicePolicyManager} devuelta 128 por el nuevo método <code>DevicePolicyManager.getParentProfileInstance()</code> 129. Además, los propietarios de perfiles pueden personalizar la pantalla de credenciales para 130 la comprobación de trabajo mediante la utilización de los nuevos métodos de la clase{@link android.app.admin.DevicePolicyManager} 131 <code>setOrganizationColor()</code> y 132 <code>setOrganizationName()</code>. 133</p> 134 135<p> 136 Para obtener detalles sobre los nuevos métodos y constantes, consulta la página de referencia de 137 <code>DevicePolicyManager</code> en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK</a>. 138</p> 139 140<h2 id="suspend">Inhabilitar acceso a aplicaciones</h2> 141 142<p> 143 Los propietarios de perfiles y dispositivos pueden suspender temporariamente el acceso a los paquetes 144 mediante una llamada al nuevo método <code>DevicePolicyManager.setPackagesSuspended()</code> 145. Los propietarios pueden utilizar el mismo método para volver a habilitar esos paquetes. 146</p> 147 148<p> 149 Mientras un paquete está suspendido, este no puede comenzar actividades, se suprimen las notificaciones al 150 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>. 151 Los paquetes suspendidos no aparecen en la <a href="{@docRoot}guide/components/recents.html">pantalla de información general</a> y 152 no pueden mostrar diálogos (incluidos avisos y snackbars). Además, no pueden reproducir 153 audio ni hacer vibrar el dispositivo. 154</p> 155 156<p> 157 Los lanzadores deben aplicar una IU distintiva para las aplicaciones suspendidas a fin de mostrar que las 158 aplicaciones no están actualmente disponibles; por ejemplo, el ícono de la aplicación puede aparecer en color 159 gris. Los lanzadores pueden averiguar si una aplicación está suspendida llamando al nuevo método 160 <code>DevicePolicyManager.getPackageSuspended()</code>. 161</p> 162 163<h2 id="toggle-work">Activar o desactivar el modo de trabajo</h2> 164 165<p> 166 En dispositivos de perfil doble, los usuarios pueden activar o desactivar el modo de trabajo. Mientras este último está 167 desactivado, el perfil administrado se encuentra inactivo temporariamente. Se inhabilitan 168 todas las aplicaciones del perfil de trabajo, la sincronización en segundo plano y las notificaciones, incluida 169 la aplicación del propietario del perfil. Mientras el perfil de trabajo está deshabilitado, en el sistema 170 se muestra un ícono de estado persistente para recordarles a los usuarios que no pueden iniciar aplicaciones 171 de trabajo. El launcher del sistema indica que no se puede acceder a aplicaciones ni widgets 172 de trabajo. 173</p> 174 175<h2 id="always-on-vpn">VPN siempre visibles</h2> 176 177<p> 178 Los propietarios de dispositivos y perfiles pueden solicitar que las aplicaciones de trabajo siempre se conecten a la red 179 a través de una VPN especificada. Si los propietarios establecen este requisito, el 180 dispositivo inicia automáticamente esa VPN en el inicio. 181</p> 182 183<p> 184 Los propietarios pueden requerir el uso de una VPN llamando al nuevo método 185 <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code>. Para averiguar 186 si el propietario ha establecido un requisito de VPN, llama al nuevo método 187 <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code>. 188</p> 189 190<p> 191 Debido a que los servicios de VPN pueden enlazarse directamente a través del sistema sin interacción con aplicaciones, 192 los clientes de VPN deben administrar nuevos puntos de entrada para VPN siempre visibles. Como antes, puedes 193 encontrar servicios activos mediante la utilización de un filtro de intent que coincida con la acción 194 {@link android.net.VpnService android.net.VpnService}. 195</p> 196 197<p> 198 Para configurar manualmente un cliente de VPN que esté siempre visible y que implemente {@link 199 android.net.VpnService}, los usuarios deben ir a <strong>Settings > More > 200 pantalla VPN</strong>. 201</p> 202 203<h2 id="contacts">Integración de contactos con el perfil de trabajo</h2> 204 205<p> 206 Los propietarios de perfiles pueden permitir la búsqueda local y la búsqueda en directorio de los contactos de trabajo 207 a partir del usuario principal. Por ejemplo, un usuario puede acceder a contactos personales y laborales del directorio 208 desde el teléfono personal o la aplicación de contactos (si 209 así lo permite el administrador del perfil). 210</p> 211 212<p> 213 Los desarrolladores que aprovechan el proveedor de contactos pueden utilizar la API de contactos empresariales 214 para acceder a las entradas del directorio del perfil de trabajo desde el usuario principal si así lo permiten 215 las siguientes políticas: 216</p> 217 218<ul> 219 <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code> 220 </li> 221 222 <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code> 223 </li> 224 225 <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code> 226 </li> 227 228 <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code> 229 </li> 230 231 <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code> 232 </li> 233 234 <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code> 235 </li> 236</ul> 237 238<p> 239 Los propietarios de perfiles pueden controlar la visibilidad de los contactos laborales en el usuario 240 principal por medio de los nuevos métodos a continuación: 241</p> 242 243<ul> 244 <li> 245 <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code> 246 </li> 247 248 <li> 249 <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code> 250 </li> 251</ul> 252 253<h2 id="remote-reboot">Reinicio remoto</h2> 254 255<p> 256 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 257 lugares públicos dentro de recintos. Si se debe 258 reiniciar un dispositivo, los administradores pueden hacerlo utilizando el nuevo método 259 <code>DevicePolicyManager.reboot()</code>. 260</p> 261 262<h2 id="disable-roaming">Inhabilitar roaming de datos</h2> 263 264<p> 265 Los propietarios de dispositivos pueden inhabilitar el roaming de datos mediante la nueva restricción de usuario de {@link 266 android.os.UserManager} denominada <code>DISALLOW_DATA_ROAMING</code>. 267</p> 268 269<h2 id="process-logging">Registros de procesos empresariales</h2> 270 271<p> 272 Los propietarios de dispositivos pueden identificar actividades sospechosas mediante un rastreo remoto de la actividad del 273 dispositivo, incluidos inicios de aplicaciones, actividad adb y desbloqueos de pantalla. Los registros de 274 procesos no requieren del consentimiento del usuario. Para recuperar registros, los propietarios de dispositivos habilitan 275 los registros de dispositivos mediante <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>. 276</p> 277 278<p> 279 Entre los cambios en la API, se incluyen los siguientes: 280</p> 281 282<ul> 283 284 <li> 285 La nueva clase <code>android.app.admin.SecurityLog</code> y sus 286 métodos 287 </li> 288 289 <li> 290 <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code> 291 </li> 292 293 <li> 294 <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code> 295 </li> 296 297 <li> 298 <code>List<SecurityEvent> 299 DevicePolicyManager.retrieveSecurityLogs()</code> 300 </li> 301 302 <li> 303 <code>List<SecurityEvent> 304 DevicePolicyManager.retrievePreRebootSecurityLogs()</code> 305 </li> 306 307 <li> 308 <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code> 309 </li> 310</ul> 311 312<h2 id="bug-reports">Informes de errores remotos</h2> 313 314<p> 315 Los propietarios de dispositivos pueden activar y recuperar de forma remota un informe de errores que contenga un 316 archivo de descarga sobre el estado del dispositivo, lo que permite llevar a cabo una investigación forense de un 317 incidente conocido o un dispositivo afectado. Debido a la naturaleza detallada del informe de errores, 318 se requiere el consentimiento del usuario. 319</p> 320 321<p> 322 Android N incluye los siguientes agregados de API para ofrecer compatibilidad con esta función. Para obtener 323 detalles, consulte la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK 324</a>. 325</p> 326 327<ul> 328 <li> 329 <code>DevicePolicyManager.requestBugreport()</code> 330 </li> 331 332 <li> 333 <code>DeviceAdminReceiver.onBugreportFailed()</code> 334 </li> 335 336 <li> 337 <code>DeviceAdminReceiver.onBugreportShared()</code> 338 </li> 339 340 <li> 341 <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code> 342 </li> 343 344 <li> 345 <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code> 346 </li> 347 348 <li> 349 <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code> 350 </li> 351</ul> 352 353<h2 id="remove-cert">Quitar un certificado de cliente</h2> 354 355<p> 356 Los propietarios de perfiles y dispositivos ahora pueden quitar certificados de cliente que se 357 instalaron a través de {@link android.app.admin.DevicePolicyManager#installKeyPair 358 installKeyPair()} llamando al nuevo método 359 <code>DevicePolicyManager.removeKeyPair()</code>. 360</p> 361 362<h2 id="grant-cert-on-install">Otorgar acceso a certificado de cliente 363 en la instalación</h2> 364 365<p> 366 Si un propietario de perfil o dispositivo otorga a una aplicación de terceros la capacidad de 367 administrar certificados, dicha aplicación puede acceder por sí sola a los certificados que 368 instala sin intervención alguna por parte del propietario. 369</p> 370 371<p> 372 La API existente para administrar certificados se extiende para incluir lo siguiente: 373</p> 374 375<ul> 376 <li><code>DevicePolicyManager.installKeyPair()</code> 377 </li> 378</ul> 379 380<h2 id="ui-policy">Transparencia de la política de IU del sistema</h2> 381 382<p> 383 Las políticas que afectan la experiencia del usuario o restringen las configuraciones del usuario se divulgan 384 en su totalidad al usuario, y los propietarios de perfiles y dispositivos pueden atribuir la 385 política al departamento de TI de la empresa. Además de un mensaje “Action 386 not allowed” consistente en Settings, los administradores de TI pueden configurar un 387 mensaje de soporte específico para la organización en la configuración del dispositivo con los nuevos 388 métodos{@link android.app.admin.DevicePolicyManager} a continuación: 389</p> 390 391<ul> 392 <li> 393 <code>DevicePolicyManager.setShortSupportMessage()</code> 394 </li> 395 396 <li> 397 <code>DevicePolicyManager.setLongSupportMessage()</code> 398 </li> 399</ul> 400 401<h2 id="restrictions-mgmt">Mejoras en la administración de las restricciones de aplicaciones</h2> 402 403<p> 404 El propietario del dispositivo o perfil puede habilitar otra aplicación para que administre las restricciones de 405 aplicaciones mediante el nuevo método 406 <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code> 407. La aplicación nominada puede controlar si se otorgó este permiso 408 llamando a 409 <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>. 410</p> 411 412<p> 413 Una aplicación nominada para administrar restricciones de aplicaciones puede llamar a {@link 414 android.app.admin.DevicePolicyManager#setApplicationRestrictions 415 setApplicationRestrictions()} y {@link 416 android.app.admin.DevicePolicyManager#getApplicationRestrictions 417 getApplicationRestrictions()} para cualquier paquete dentro de ese usuario o perfil. 418</p> 419 420<h2 id="location-off">Interruptor de desactivación de los servicios de ubicación</h2> 421 422<p> 423 Los usuarios pueden inhabilitar los permisos de ubicación para las aplicaciones de trabajo mientras continúan 424 accediendo a información sobre ubicación en sus aplicaciones personales. Mediante un interruptor independiente de acceso 425 a información de ubicación en Location Settings, los usuarios pueden denegar las actualizaciones de ubicación o 426 las consultas de última ubicación para las aplicaciones que se ejecutan en el perfil de trabajo. 427</p> 428 429<p> 430 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 431 el perfil principal y el perfil administrado. 432</p> 433 434<h2 id="custom-provisioning">Aprovisionamiento personalizado</h2> 435 436<p> 437 En una aplicación se pueden personalizar los flujos de provisión 438 del propietario del perfil y del propietario del dispositivo con logos y colores corporativos. 439</p> 440 441<dl> 442 <dt> 443 <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code> 444 </dt> 445 446 <dd> 447 Permite personalizar el color del flujo. 448 </dd> 449 450 <dt> 451 <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code> 452 </dt> 453 454 <dd> 455 Permite personalizar el flujo con un logo corporativo. 456 </dd> 457</dl> 458 459<h2 id="multi-wifi-ca">Múltiples certificados de CA de Wi-Fi</h2> 460 461<p> 462 Los propietarios de perfiles y dispositivos pueden configurar múltiples certificados de CA para una configuración 463 de Wi-Fi determinada. Cuando las redes de Wi-Fi corporativas tienen CA independientes para 464 diferentes puntos de acceso con el mismo SSID, los administradores de TI pueden incluir todas las 465 CA relevantes en la configuración Wi-Fi utilizando el nuevo método 466 <code>setCaCertificates()</code>. 467</p> 468 469<p> 470 Las API que se agregaron son las siguientes: 471</p> 472 473<ul> 474 <li> 475 <code>WifiEnterpriseConfig.setCaCertificates()</code> 476 </li> 477 478 <li> 479 <code>WifiEnterpriseConfig.getCaCertificates()</code> 480 </li> 481</ul> 482 483<h2 id="custom-lock">Mensaje personalizado en la pantalla bloqueada</h2> 484 485<p> 486 Los propietarios de dispositivos pueden proporcionar información de propietario para que aparezca en la pantalla bloqueada. 487 Esta información prevalece sobre el mensaje de la pantalla bloqueada del usuario (si se configuró 488 uno). Los nuevos métodos {@link android.app.admin.DevicePolicyManager} son los siguientes: 489</p> 490 491<ul> 492 <li> 493 <code>setDeviceOwnerLockScreenInfo()</code> 494 </li> 495 496 <li> 497 <code>getDeviceOwnerLockScreenInfo()</code> 498 </li> 499</ul> 500 501<h2 id="work-connectionservice">ConnectionService del perfil de trabajo</h2> 502 503<p> 504 Los propietarios de perfiles pueden especificar una aplicación de teléfono de trabajo que utilice un 505 {@link android.telecom.ConnectionService} específico del trabajo para el backend 506 de llamadas (cuentas de llamadas). El teléfono de trabajo lleva únicamente un registro de llamadas de trabajo 507 y depende solo de contactos laborales. Los usuarios tienen una experiencia de IU 508 de llamada entrante consistente independientemente de la aplicación de marcación. Las llamadas laborales que ingresan en las 509 cuentas de llamadas de trabajo se distinguen de las llamadas personales que ingresan en 510 las cuentas de llamadas personales. 511</p> 512 513<p> 514 El teléfono debe controlar el nuevo marcador 515 <code>android.telecom.Call.PROPERTY_WORK_CALL</code> para determinar si una llamada es 516 de tipo laboral. Si se trata de una llamada laboral, el teléfono debe indicarlo 517, por ejemplo, mediante el agregado de una insignia de trabajo. 518</p> 519 520<h2 id="lock-wp">Bloquear fondo de pantalla</h2> 521 522<p> 523 Mediante una nueva restricción de usuario (<code>DISALLOW_SET_WALLPAPER</code>), se evita que el 524 usuario modifique el fondo de pantalla. Los propietarios de dispositivos o perfiles aún pueden 525 modificar el fondo de pantalla. Sin embargo, solo pueden hacerlo para el 526 usuario o perfil que controlan. Por ejemplo, el propietario de un perfil no puede modificar el 527 fondo de pantalla del usuario primario, 528 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 529 fondo de pantalla debe controlar si el usuario o perfil que administra posee un 530 fondo de pantalla ({@link android.app.WallpaperManager#isWallpaperSupported 531 isWallpaperSupported()}) y si puede modificarlo (con el 532 nuevo método <code>WallpaperManager.isWallpaperSettingAllowed()</code>). 533</p> 534 535<h2 id="lock-user-icon">Bloquear ícono de usuario</h2> 536 537<p> 538 Mediante una nueva restricción de usuario (<code>DISALLOW_SET_USER_ICON</code>), se evita que el 539 usuario modifique el ícono de usuario. El propietario del dispositivo o del perfil del usuario 540 aún puede modificar el ícono. Sin embargo, un propietario de perfil solo puede modificar el ícono 541 de usuario del perfil que controla. 542</p> 543 544<h2 id="health-monitoring">Control del estado del dispositivo</h2> 545 546<p> 547 El propietario de un perfil o dispositivo puede usar la nueva interfaz 548 <code>HardwarePropertiesManager</code> para recuperar información 549 sobre el estado del dispositivo, como por ejemplo, las temperaturas de CPU o GPU y el uso de la CPU. La nueva interfaz 550 de control es especialmente útil para controlar dispositivos sin supervisión 551 que se ejecutan en una ubicación remota. 552</p> 553