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 &gt; More &gt;
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&lt;SecurityEvent&gt;
299      DevicePolicyManager.retrieveSecurityLogs()</code>
300  </li>
301
302  <li>
303    <code>List&lt;SecurityEvent&gt;
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