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 > More > 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<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">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