Novidades do Android 7.0

Esta página fornece uma visão geral dos novos recursos, mudanças de comportamento e APIs introduzidas no Android 7.0 (nível 25 da API) que afetam o Android em empresas.

Provisionamento de código QR

O Android Enterprise agora oferece suporte ao uso de códigos QR para provisionar dispositivos corporativos. O assistente de configuração agora permite que você leia um código QR para provisionar o dispositivo.

Desafio de segurança de perfil de trabalho

Os proprietários de perfis podem exigir que os usuários especifiquem um desafio de segurança para apps em execução no perfil de trabalho. O sistema mostra o desafio de segurança quando o usuário tenta abrir qualquer app de trabalho. Se o usuário concluir o desafio de segurança, o sistema desbloqueará o perfil de trabalho e o descriptografará, se necessário.

Se o proprietário de um perfil enviar uma intent ACTION_SET_NEW_PASSWORD, o sistema pedirá que o usuário configure um desafio de segurança. O proprietário do perfil também pode enviar uma intent ACTION_SET_NEW_PARENT_PROFILE_PASSWORD para solicitar que o usuário defina um bloqueio de dispositivo.

Os proprietários de perfis podem optar por definir as políticas de senha para o desafio de trabalho de maneira diferente das políticas de outras senhas do dispositivo. Por exemplo, o tamanho mínimo da resposta do desafio do dispositivo pode ser diferente do tamanho necessário para outras senhas. Os proprietários de perfil definem as políticas de desafio usando os métodos comuns DevicePolicyManager, como setPasswordQuality() e setPasswordMinimumLength(). O proprietário do perfil também pode definir o bloqueio do dispositivo usando a instância DevicePolicyManager retornada pelo novo método DevicePolicyManager.getParentProfileInstance(). Além disso, os proprietários de perfis podem personalizar a tela de credenciais do desafio de trabalho usando os novos métodos setOrganizationColor() e setOrganizationName() da classe DevicePolicyManager.

Desativar o acesso a apps

Os proprietários de dispositivos e de perfis podem suspender temporariamente o acesso a pacotes chamando o novo método DevicePolicyManager.getPackagesSuspended(). Os proprietários podem usar o mesmo método para reativar esses pacotes.

Enquanto um pacote está suspenso, ele não pode iniciar atividades, as notificações para o pacote são suprimidas e a entrada do app na tela overview é oculta. Os pacotes suspensos não aparecem na tela Visão geral nem podem mostrar caixas de diálogo, incluindo avisos e snackbars. Além disso, eles não podem tocar áudio nem vibrar o dispositivo.

As telas de início precisam aplicar uma interface distinta aos apps suspensos para mostrar que eles não estão disponíveis no momento. Por exemplo, podem renderizar o ícone do app em cinza. As telas de início podem descobrir quais apps estão suspensos chamando o novo método DevicePolicyManager.getPackagesSuspended().

Alternar modo de trabalho

Em dispositivos com dois perfis, os usuários podem ativar e desativar o modo de trabalho. Enquanto o modo de trabalho estiver desativado, o perfil gerenciado será encerrado temporariamente. Os apps, a sincronização em segundo plano e as notificações do perfil de trabalho estão desativados, incluindo o app do proprietário do perfil. Enquanto o perfil de trabalho estiver desativado, o sistema mostra um ícone de status persistente para lembrar os usuários de que não é possível iniciar apps de trabalho. Essa tela de início indica que os widgets e apps de trabalho não podem ser acessados.

VPN sempre ativa

Os proprietários de dispositivos e de perfis podem exigir que os apps de trabalho sempre se conectem à rede por uma VPN especificada. Se os proprietários definirem esse requisito, o dispositivo iniciará essa VPN automaticamente no momento da inicialização.

Os proprietários podem exigir o uso de uma VPN chamando o novo método DevicePolicyManager.setAlwaysOnVpnPackage(). Para descobrir se o proprietário definiu um requisito de VPN, chame o método newDevicePolicyManager.GetAlwaysOnVpnPackage().

Como o sistema pode vincular os serviços de VPN diretamente sem interação com o app, os clientes de VPN precisam processar novos pontos de entrada para a VPN sempre ativa. Como antes, é possível encontrar serviços ativos usando um filtro de intent que corresponda à ação android.net.VpnService.

Os usuários podem definir manualmente um cliente VPN sempre ativado que implementa VpnService usando as opções Configurações > Mais > tela VPN.

Integração de contatos com o perfil de trabalho

Os proprietários de perfis podem permitir a pesquisa local e a busca no diretório de contatos de trabalho do usuário principal. Por exemplo, um usuário pode acessar os contatos do diretório pessoal e de trabalho no discador pessoal ou no aplicativo de contatos, se permitido pelo administrador do perfil.

Os desenvolvedores que usam o Provedor de contatos podem usar a API Enterprise Contacts para acessar as entradas do diretório do perfil de trabalho do usuário principal, se permitido pela política:

  • ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI
  • ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI
  • ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI
  • ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI
  • ContactsContract.Directory.ENTERPRISE_CONTENT_URI
  • ContactsContract.Directory.isEnterpriseDirectoryId()

Os proprietários de perfis podem controlar a visibilidade dos contatos de trabalho no usuário principal usando estes novos métodos:

  • DevicePolicyManager.setCrossProfileContactsSearchDisabled()
  • DevicePolicyManager.getCrossProfileContactsSearchDisabled()

Reinicialização remota

Donos de dispositivos podem reinicializá-los remotamente. Em alguns casos, dispositivos implantados em locais públicos dentro de gabinetes podem impedir o acesso ao botão liga/desliga. Se um dispositivo precisar ser reinicializado, os administradores poderão fazer isso usando o novo método DevicePolicyManager.reboot().

Chave de desativação da localização

Os usuários podem desativar as permissões de localização para apps de trabalho enquanto continuam acessando as informações de localização nos apps pessoais. Uma chave de acesso à localização separada nas configurações de localização permite que os usuários neguem atualizações ou consultas de última localização para apps em execução no perfil de trabalho.

A chave de desativação do local de nível superior desativa o acesso à localização para o perfil principal e o gerenciado.

Provisionamento personalizado

Um aplicativo pode personalizar os fluxos de provisionamento do proprietário do perfil e do dispositivo com cores e logotipos corporativos.

  • DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR: personaliza a cor do fluxo.
  • DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI: personaliza o fluxo com um logotipo corporativo.

Vários certificados de CA para Wi-Fi

Os proprietários de perfis e de dispositivos podem definir vários certificados de CA para uma determinada configuração de Wi-Fi. Quando redes Wi-Fi corporativas têm CAs separadas para pontos de acesso separados com o mesmo SSID, os administradores de TI podem incluir todas as CAs relevantes na configuração de Wi-Fi usando o novo método setCaCertificates().

As APIs adicionadas foram:

  • WifiEnterpriseConfig.setCaCertificates()
  • WifiEnterpriseConfig.getCaCertificates()

Mensagem personalizada na tela de bloqueio

Os proprietários de dispositivos podem fornecer informações do proprietário para serem mostradas na tela de bloqueio. Essas informações têm precedência sobre a mensagem do usuário na tela de bloqueio, se houver uma definida. Os novos métodos DevicePolicyManager são:

  • setDeviceOwnerLockScreenInfo()
  • getDeviceOwnerLockScreenInfo()

Serviço de conexão do perfil de trabalho

Os proprietários de perfis podem especificar um aplicativo de telefone de trabalho que usa um ConnectionService específico do trabalho para o back-end de chamada (contas de chamada). O discador de trabalho mantém um registro de chamadas apenas de trabalho e depende apenas dos contatos de trabalho. Os usuários têm uma experiência consistente na interface na chamada, independente do aplicativo de chamadas. As chamadas de trabalho recebidas para as contas de trabalho são diferentes das chamadas recebidas pelas contas pessoais.

O discador precisa verificar a nova flag android.telecom.Call.PROPERTY_WORK_CALL para determinar se uma chamada é de trabalho. Se for uma chamada de trabalho, o discador vai indicar isso, adicionando um crachá de trabalho, por exemplo.

Bloquear plano de fundo

Uma nova restrição de usuário (DISALLOW_SET_WALLPAPER) impede que o usuário mude o plano de fundo. O proprietário do dispositivo ou do perfil ainda pode mudar o plano de fundo, mas só pode mudar o plano de fundo do usuário ou perfil que controla. Por exemplo, o proprietário de um perfil não pode mudar o plano de fundo do usuário pai, mas o proprietário do perfil no perfil principal ou o proprietário do dispositivo pode. Um proprietário de perfil ou dispositivo que queira mudar o plano de fundo precisa verificar se o usuário ou perfil que ele gerencia tem um plano de fundo (isWallpaperSupported()) e se ele pode fazer essa mudança (com o novo método WallpaperManager.isWallpaperSettingAllowed()).

Ícone de bloqueio de usuário

Uma nova restrição de usuário (DISALLOW_SET_USER_ICON) impede que o usuário altere o ícone do usuário. O proprietário do dispositivo ou do perfil do usuário ainda pode mudar o ícone. No entanto, o proprietário de um perfil só pode mudar o ícone do usuário do perfil que controla.

Monitoramento da integridade do dispositivo

Um proprietário de dispositivo ou perfil pode usar a nova interface HardwarePropertiesManager para recuperar informações sobre a integridade do dispositivo, como temperaturas da CPU ou GPU e uso da CPU. A nova interface de monitoramento é especialmente útil para monitorar dispositivos autônomos em execução em um local remoto.