• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=Atualizações no Android for Work
2page.metaDescription=Novas APIs do Android for Work e novos recursos do 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>Neste documento</h2>
10      <ol>
11        <li><a href="#qr">Provisionamento de código QR
12</a></li>
13
14        <li><a href="#sec-challenge">Desafio de segurança de perfil de trabalho
15</a></li>
16
17        <li><a href="#suspend">Desativar acesso a aplicativos
18</a></li>
19
20        <li><a href="#toggle-work">Alternar modo de trabalho
21</a></li>
22
23        <li><a href="#always-on-vpn">Always-On VPN
24</a></li>
25
26        <li><a href="#contacts">Integração de contatos com perfil de trabalho
27</a></li>
28
29        <li><a href="#remote-reboot">Reinicialização remota
30</a></li>
31
32        <li><a href="#disable-roaming">Desativação de roaming de dados
33</a></li>
34
35        <li><a href="#process-logging">Registro do processo empresarial
36</a></li>
37
38        <li><a href="#bug-reports">Relatórios de erros remotos
39</a></li>
40
41        <li><a href="#remove-cert">Remoção de certificado do cliente
42</a></li>
43
44        <li><a href="#grant-cert-on-install">Concessão de acesso a certificado do cliente
45na instalação</a></li>
46
47        <li><a href="#ui-policy">Transparência da política de IU do sistema
48</a></li>
49
50        <li><a href="#restrictions-mgmt">Melhorias no gerenciamento de restrições de aplicativos
51</a></li>
52
53        <li><a href="#location-off">Interruptor para desativar localidade
54</a></li>
55
56        <li><a href="#custom-provisioning">Provisionamento personalizado
57</a></li>
58
59        <li><a href="#multi-wifi-ca">Diversos certificados de CA para Wi-Fi
60</a></li>
61
62        <li><a href="#custom-lock">Mensagem de tela de bloqueio personalizada
63</a></li>
64
65        <li><a href="#work-connectionservice">Perfil de trabalho ConnectionService
66</a></li>
67
68        <li><a href="#lock-wp">Bloqueio de plano de fundo
69</a></li>
70
71        <li><a href="#lock-user-icon">Bloqueio de ícone de usuário
72</a></li>
73
74        <li><a href="#health-monitoring">Monitoramento da saúde do dispositivo
75</a></li>
76
77      </ol>
78
79    <h2>Veja também</h2>
80    <ul>
81      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência
82do N Preview SDK</a></li>
83    </ul>
84  </div>
85</div>
86
87<p>Este documento descreve os novos recursos do Android for Work oferecidos no
88Android N.</p>
89
90<h2 id="qr">Provisionamento de código QR</h2>
91
92<p>
93  O Android for Work agora é compatível com o uso de códigos QR para fornecimento de dispositivos
94de responsabilidade corporativa. Este assistente de configuração permite a digitalização de um código QR para fornecer
95ao dispositivo.
96</p>
97
98<h2 id="sec-challenge">Desafio de segurança de perfil de trabalho</h2>
99
100<p>
101  Donos de perfis podem exigir que os usuários especifiquem um desafio de segurança para aplicativos
102em execução no perfil de trabalho. O sistema mostra o desafio de segurança quando o
103usuário tenta abrir qualquer aplicativo de trabalho. Se o usuário preencher corretamente o
104 desafio de segurança, o sistema desbloqueará e, se necessário, descriptografará o
105perfil de trabalho.
106</p>
107
108<p>
109  Se um dono de perfil enviar uma intenção {@link
110 android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD}, o
111 sistema solicitará que o usuário defina um desafio de segurança. O dono de perfil também
112 pode enviar uma intenção <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> para
113 solicitar que o usuário defina um bloqueio de dispositivo.
114</p>
115
116<p>
117  Os donos de perfil podem escolher políticas de senha diferentes
118 das políticas de outros dispositivos para o desafio de trabalho. Por exemplo, o
119 tamanho mínimo da resposta do desafio no dispositivo pode ser diferente do tamanho
120 exigido para outras senhas. Os donos de perfis definem as
121políticas do desafio por meio dos métodos {@link android.app.admin.DevicePolicyManager}
122usuais, como {@link
123android.app.admin.DevicePolicyManager#setPasswordQuality
124setPasswordQuality()} e {@link
125android.app.admin.DevicePolicyManager#setPasswordMinimumLength
126setPasswordMinimumLength()}. O dono de perfil também pode definir o bloqueio de dispositivo
127usando a instância de {@link android.app.admin.DevicePolicyManager} retornada
128pelo novo método <code>DevicePolicyManager.getParentProfileInstance()</code>
129. Além disso, donos de perfil podem personalizar a tela de credenciais do
130desafio de trabalho usando os novos métodos <code>setOrganizationColor()</code> e
131 <code>setOrganizationName()</code> da classe {@link android.app.admin.DevicePolicyManager}
132.
133</p>
134
135<p>
136  Para obter detalhes sobre os novos métodos e constantes, consulte a
137página de referência <code>DevicePolicyManager</code> na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referência do N Preview SDK</a>.
138</p>
139
140<h2 id="suspend">Desativar acesso a aplicativos</h2>
141
142<p>
143  Donos de dispositivos e perfis podem suspender temporariamente o acesso a pacotes
144 chamando o novo método <code>DevicePolicyManager.setPackagesSuspended()</code>
145. Os donos podem usar o mesmo método para reativar esses pacotes.
146</p>
147
148<p>
149  Enquanto está suspenso, um pacote não consegue iniciar atividades, as notificações
150 são suspensas e a entrada do aplicativo na <a href="{@docRoot}guide/components/recents.html">tela de visão geral</a> é ocultada.
151  Os pacotes suspensos não são exibidos na <a href="{@docRoot}guide/components/recents.html">tela de visão geral</a> e não
152 podem mostrar caixas de diálogo (incluindo avisos e snackbars). Também não conseguem reproduzir
153 áudio nem vibrar o dispositivo.
154</p>
155
156<p>
157  A tela de início pode aplicar uma IU destacada ao aplicativos suspensos para mostrar que
158 não estão disponíveis. Podem, por exemplo, exibir o ícone do aplicativo
159 em cinza. A tela de início pode descobrir se um aplicativo está suspenso chamando o novo método
160 <code>DevicePolicyManager.getPackageSuspended()</code>.
161</p>
162
163<h2 id="toggle-work">Alternar modo de trabalho</h2>
164
165<p>
166  Em dispositivos com dois perfis, o usuário pode ativar ou desativar o modo de trabalho. Quando o modo de trabalho
167 é desativado, o perfil gerenciado é encerrado temporariamente. Os aplicativos,
168 a sincronização em segundo plano e as notificações do perfil de trabalho são desativados, inclusive
169 o aplicativo do dono do perfil. Quando o modo de trabalho está desativado, o sistema
170 exibe um ícone de status persistente para lembrar ao usuário que não é possível iniciar aplicativos
171de trabalho. A tela de início indica que os aplicativos e widgets de trabalho não podem
172 ser acessados.
173</p>
174
175<h2 id="always-on-vpn">Always-On VPN</h2>
176
177<p>
178  Os donos de dispositivo e perfil podem exigir que os aplicativos de trabalho se conectem sempre
179por meio de uma VPN especificada. Se os donos definirem este requisito, o
180 dispositivo iniciará a VPN automaticamente na inicialização.
181</p>
182
183<p>
184  Os donos podem exigir o uso de uma VPN chamando o novo
185método <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code>. Para descobrir
186 se o dono definiu um requisito de VPN, chame o novo
187 método <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code>.
188</p>
189
190<p>
191  Como o sistema pode vincular os serviços de VPN diretamente sem interação com aplicativos,
192 os clientes de VPN precisam processar novos pontos de entrada para a Always-on VPN. Como antes, você
193 pode encontrar serviços ativos usando um filtro de intenção que corresponda à ação
194 {@link android.net.VpnService android.net.VpnService}.
195</p>
196
197<p>
198  Os usuários podem configurar manualmente um cliente de VPN always-on que implemente {@link
199android.net.VpnService} usando a tela <strong>Settings &gt; More &gt;
200 VPN</strong>.
201</p>
202
203<h2 id="contacts">Integração de contatos com perfil de trabalho</h2>
204
205<p>
206  Os donos de perfil podem permitir pesquisa local e busca no diretório de contatos de trabalho
207 do usuário principal. Por exemplo, um usuário pode acessar os diretórios de contatos
208 pessoais e de trabalho no telefone ou no aplicativo de contatos particular (se
209 permitido pelo administrador do perfil).
210</p>
211
212<p>
213  Desenvolvedores que se valem do Provedor de Contatos podem usar a Enterprise Contacts API
214 para acessar as entradas do diretório do perfil de trabalho do usuário principal se permitido
215 pela política:
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  Donos de perfis podem controlar a visibilidade de contatos de trabalho no usuário
240 principal usando os seguintes novos métodos:
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">Reinicialização remota</h2>
254
255<p>
256  Donos de dispositivos podem reinicializá-los remotamente. Em alguns casos, dispositivos implementados
257 dentro de compartimentos em locais públicos podem impedir o acesso ao botão liga/desliga. Se um
258 dispositivo precisar de reinicialização, os administradores poderão fazer isso usando o novo
259 método <code>DevicePolicyManager.reboot()</code>.
260</p>
261
262<h2 id="disable-roaming">Desativação de roaming de dados</h2>
263
264<p>
265  Os donos de dispositivos podem desativar o roaming de dados usando a nova restrição de usuário <code>DISALLOW_DATA_ROAMING</code> do {@link
266android.os.UserManager}.
267</p>
268
269<h2 id="process-logging">Registro do processo empresarial</h2>
270
271<p>
272  Donos de dispositivos podem monitorá-los remotamente
273 para identificar atividades suspeitas, incluindo inicialização de aplicativos, atividade adb e desbloqueios de tela. Registros de processo
274 não exigem consentimento do usuário. Para recuperar os registros, os donos de dispositivos precisam ativar
275o registro no dispositivo usando <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>.
276</p>
277
278<p>
279  As mudanças na API incluem:
280</p>
281
282<ul>
283
284  <li>
285    A nova classe <code>android.app.admin.SecurityLog</code> e seus
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">Relatórios de erros remotos</h2>
313
314<p>
315  Donos de dispositivos podem acionar e recuperar remotamente um relatório de erros que contém um
316 arquivo de despejo, o que permite a investigação forense de um incidente
317 conhecido ou um dispositivo danificado. Devido à natureza detalhada do relatório de erros,
318 ele só é gerado com o consentimento do usuário.
319</p>
320
321<p>
322  O Android N inclui as seguintes adições de API para dar suporte a este recurso. Para
323obter detalhes, consulte a <a href="{@docRoot}preview/setup-sdk.html#docs-dl"> Referência do N
324 Preview SDK</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">Remoção de certificado do cliente</h2>
354
355<p>
356  Agora, donos de perfis e dispositivos podem remover certificados de cliente que foram
357instalados por meio do {@link android.app.admin.DevicePolicyManager#installKeyPair
358 installKeyPair()} chamando o novo método
359 <code>DevicePolicyManager.removeKeyPair()</code>.
360</p>
361
362<h2 id="grant-cert-on-install">Concessão de acesso a certificado do cliente
363na instalação</h2>
364
365<p>
366  Se um dono de perfil ou dispositivo conceder a um aplicativo de terceiros a capacidade de
367 gerenciar certificados, o próprio aplicativo poderá conceder acesso a certificados que
368 tenha instalado sem qualquer intervenção do dono.
369</p>
370
371<p>
372  A API existente para gerenciamento de certificados foi expandida para incluir:
373</p>
374
375<ul>
376  <li><code>DevicePolicyManager.installKeyPair()</code>
377  </li>
378</ul>
379
380<h2 id="ui-policy">Transparência da política de IU do sistema</h2>
381
382<p>
383  Políticas que afetem a experiência do usuário ou restrinjam Settings são
384 totalmente divulgadas e os donos de perfis e dispositivos podem atribuir a
385 política ao departamento de TI da empresa. Além de incluir uma mensagem consistente de "Ação
386 não permitida” em Settings, os administradores de TI podem definir uma
387 mensagem de suporte específica para a organização nas configurações do dispositivo com os seguintes
388 novos métodos {@link android.app.admin.DevicePolicyManager}:
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">Melhorias no gerenciamento de restrições de aplicativos</h2>
402
403<p>
404  O dono do dispositivo ou perfil pode habilitar outro aplicativo para gerenciar restrições de aplicativo
405 por meio do novo
406 método <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code>
407. O aplicativo indicado pode verificar se a permissão foi
408concedida chamando
409 <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>.
410</p>
411
412<p>
413  Um aplicativo indicado para gerenciar restrições de aplicativos pode chamar {@link
414 android.app.admin.DevicePolicyManager#setApplicationRestrictions
415setApplicationRestrictions()} e {@link
416android.app.admin.DevicePolicyManager#getApplicationRestrictions
417getApplicationRestrictions()} para quaisquer pacotes dentro daquele usuário ou perfil.
418</p>
419
420<h2 id="location-off">Interruptor para desativar localidade</h2>
421
422<p>
423  Os usuários podem desativar as permissões de localidade para aplicativos de trabalho sem deixar de
424 acessar informações de localidade em seus aplicativos pessoais. Um interruptor de acesso de localidade
425 em separado em Location Settings permite que o usuário impeça atualizações de localização ou
426 consultas de última localidade em aplicativos executados no perfil de trabalho.
427</p>
428
429<p>
430  O interruptor de desligamento de localidade em nível superior desativa o acesso à localidade para o
431 perfil principal e o perfil gerenciado.
432</p>
433
434<h2 id="custom-provisioning">Provisionamento personalizado</h2>
435
436<p>
437  Um aplicativo pode personalizar os fluxos de provisionamento do dono do perfil e do dispositivo
438 com cores e logos corporativos.
439</p>
440
441<dl>
442  <dt>
443    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
444  </dt>
445
446  <dd>
447    Personaliza a cor do fluxo.
448  </dd>
449
450  <dt>
451    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
452  </dt>
453
454  <dd>
455    Personaliza o fluxo com um logo corporativo.
456  </dd>
457</dl>
458
459<h2 id="multi-wifi-ca">Diversos certificados de CA para Wi-Fi</h2>
460
461<p>
462  Donos de dispositivos e perfis podem definir vários certificados de CA para uma determinada
463 configuração de Wi-Fi. Quando redes Wi-Fi corporativas têm CA separadas para
464 pontos de acesso separados com o mesmo SSID, os administradores de TI podem incluir todas as
465 CA correspondentes na configuração de Wi-Fi usando o novo método
466 <code>setCaCertificates()</code>.
467</p>
468
469<p>
470  As APIs adicionadas foram:
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">Mensagem de tela de bloqueio personalizada</h2>
484
485<p>
486  Donos de dispositivos podem fornecer informações a ser exibidas na tela de bloqueio.
487  Essas informações têm prioridade sobre a mensagem do usuário na tela de bloqueio (se houver uma
488 definida). Os novos métodos {@link android.app.admin.DevicePolicyManager} são:
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">Perfil de trabalho ConnectionService</h2>
502
503<p>
504  Os donos de perfil podem especificar um aplicativo de telefone de trabalho que usa um
505 {@link android.telecom.ConnectionService} específico para trabalho para o back-end de
506 chamada (contas de chamada). O telefone de trabalho só mantém um registro de chamadas de trabalho
507 e baseia-se apenas em contatos de trabalho. Os usuários têm uma experiência consistente
508 de IU em chamada em qualquer aplicativo de ligação. As chamadas recebidas pelas contas de trabalho
509 são distintas das chamadas recebidas pelas
510contas pessoais.
511</p>
512
513<p>
514  O telefone deve verificar o novo sinalizador
515 <code>android.telecom.Call.PROPERTY_WORK_CALL</code> para determinar se a chamada
516 é de trabalho. Se for de trabalho, o telefone deverá indicar o fato
517 adicionando um distintivo de trabalho, por exemplo.
518</p>
519
520<h2 id="lock-wp">Bloqueio de plano de fundo</h2>
521
522<p>
523  Uma nova restrição de usuário (<code>DISALLOW_SET_WALLPAPER</code>) impede que
524 o usuário altere o plano de fundo. O dono do dispositivo ou perfil ainda pode
525 alterar o plano de fundo, mas só consegue mudar o plano de fundo
526 do usuário ou perfil que controla. Por exemplo, um dono de perfil não consegue mudar o
527plano de fundo do usuário pai, mas o dono de um perfil principal e
528 o dono do dispositivo conseguem. Um dono de perfil ou dispositivo que queira alterar o
529 plano de fundo precisa verificar se o usuário ou perfil que gerencia tem um
530 plano de fundo ({@link android.app.WallpaperManager#isWallpaperSupported
531 isWallpaperSupported()}) e se possui permissão para alterá-lo (com o
532 novo método <code>WallpaperManager.isWallpaperSettingAllowed()</code>)
533</p>
534
535<h2 id="lock-user-icon">Bloqueio de ícone de usuário</h2>
536
537<p>
538  Uma nova restrição de usuário (<code>DISALLOW_SET_USER_ICON</code>) impede que
539 o usuário altere o ícone de usuário. O dono do dispositivo ou perfil
540 ainda pode alterar o ícone. No entanto, um dono de perfil só consegue alterar o
541 ícone de usuário do perfil que controla.
542</p>
543
544<h2 id="health-monitoring">Monitoramento da saúde do dispositivo</h2>
545
546<p>
547  Um dono de perfil ou dispositivo pode usar a nova interface
548 <code>HardwarePropertiesManager</code> para recuperar informações importantes
549 sobre a integridade do dispositivo, como temperatura da CPU ou da GPU e uso de CPU. A nova
550 interface de monitoramento é especialmente útil para monitorar dispositivos não assistidos
551 executados em uma localidade remota.
552</p>
553