O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Empregando Perfis de Trabalho

Um perfil de trabalho é um usuário do Android com propriedades especiais adicionais relacionadas ao gerenciamento e à estética visual. O objetivo principal de um perfil de trabalho é criar um espaço segregado e seguro para que os dados gerenciados (como dados corporativos) residam. O administrador do perfil tem controle total sobre o escopo, entrada, saída e vida útil dos dados. Essas políticas oferecem grandes poderes e, portanto, recaem sobre o perfil de trabalho e não sobre o administrador do dispositivo.

  • Criação. Qualquer aplicativo no usuário principal pode criar um perfil de trabalho. O usuário é notificado sobre os comportamentos do perfil de trabalho e a aplicação de políticas antes da criação.

  • Gestão. Os aplicativos conhecidos como proprietários de perfil podem invocar APIs programaticamente na classe DevicePolicyManager para restringir o uso. Os proprietários do perfil são definidos na configuração inicial do perfil. As políticas exclusivas de perfis de trabalho envolvem restrições de aplicativos, capacidade de atualização e comportamentos de intenção.

  • Tratamento visual. Aplicativos, notificações e widgets do perfil de trabalho são identificados e normalmente disponibilizados em linha com os elementos da interface do usuário (UI) do usuário principal.

Segregação de dados

Os perfis de trabalho usam as seguintes regras de segregação de dados.

Aplicativos

Quando o mesmo aplicativo existe no usuário principal e no perfil de trabalho, os aplicativos são delimitados com seus próprios dados segregados. Geralmente, os aplicativos agem de forma independente e não podem se comunicar diretamente entre si no limite do perfil do usuário.

Contas

As contas no perfil de trabalho são exclusivas do usuário principal e as credenciais não podem ser acessadas no limite do usuário do perfil. Apenas aplicativos em seus respectivos contextos podem acessar suas respectivas contas.

Intenções

O administrador controla se as intenções são resolvidas dentro ou fora do perfil de trabalho. Por padrão, os aplicativos do perfil de trabalho têm o escopo definido para permanecer na exceção do perfil de trabalho da API Device Policy.

Identificadores de dispositivo

Em dispositivos pessoais com perfil de trabalho, o Android 12 ou superior remove o acesso aos identificadores de hardware do dispositivo (IMEI, MEID, número de série) e fornece um ID exclusivo e específico de registro que identifica o registro do perfil de trabalho de uma organização específica. O ID de registro é garantido para permanecer estável nas redefinições de fábrica, permitindo o rastreamento de inventário confiável de dispositivos com perfis de trabalho.

Os dispositivos de propriedade pessoal com um perfil de trabalho devem usar a ID específica do registro; dispositivos de propriedade da empresa, incluindo perfil de trabalho e dispositivos totalmente gerenciados, também podem optar por usar o ID. Para usar, os EMMs devem definir a ID da organização para cada dispositivo que gerenciam, após o que podem ler a ID específica do registro nesse dispositivo e tratá-la como um número de série. Para obter mais detalhes, consulte Aprimoramentos de segurança e privacidade para perfil de trabalho .

Configurações

A aplicação de configurações tem como escopo o perfil de trabalho, com exceções para configurações de tela de bloqueio e criptografia que têm como escopo o dispositivo e são compartilhadas entre o usuário principal e o perfil de trabalho. Além dessas exceções, o proprietário do perfil não tem privilégios de administrador do dispositivo fora do perfil de trabalho.

Os perfis de trabalho são implementados como um usuário secundário, de modo que uid = 100000 \* userid + appid . Esses perfis têm dados de aplicativos separados ( /data/user/ userid ), semelhantes aos usuários comuns. O userid do usuário é calculado para todas as solicitações do sistema usando Binder.getCallingUid() e todos os estados e respostas do sistema são separados pelo valor do userid do usuário.

O AccountManagerService mantém uma lista separada de contas para cada usuário. As diferenças de conta entre um usuário de perfil de trabalho e um usuário secundário normal incluem o seguinte:

  • O perfil de trabalho é associado ao usuário pai e é iniciado com o usuário principal no momento da inicialização.

  • As notificações para perfis de trabalho são habilitadas por ActivityManagerService , permitindo que o perfil de trabalho compartilhe a pilha de atividades com o usuário principal.

  • Os serviços de sistema compartilhado adicionais incluem IME, serviços A11Y, Wi-Fi e NFC.

  • As APIs do inicializador permitem que os inicializadores exibam aplicativos com emblema e widgets permitidos do perfil de trabalho ao lado dos aplicativos no perfil principal sem trocar de usuário.

Gerenciamento de dispositivo

O gerenciamento de dispositivos corporativos Android inclui os seguintes proprietários:

  • Proprietário do perfil. Projetado para dispositivos pessoais e ambientes de dispositivos de trabalho habilitados pessoalmente.
  • Proprietário do dispositivo. Projetado para dispositivos de propriedade da empresa sem ambientes de dados pessoais.

Algumas APIs de gerenciamento de dispositivos são usadas para consumidores (por exemplo, encontrar minhas APIs de dispositivo), enquanto outras APIs estão disponíveis apenas para proprietários de perfis ou dispositivos.

Proprietários de perfil

Um aplicativo Device Policy Client (DPC) funciona como o proprietário do perfil e normalmente é fornecido por um parceiro de gerenciamento de mobilidade empresarial (EMM), como o Google Apps Device Policy. O aplicativo proprietário do perfil cria um perfil de trabalho no dispositivo enviando o ACTION_PROVISION_MANAGED_PROFILE . O perfil de trabalho tem instâncias marcadas de aplicativos que são visualmente distintas das instâncias pessoais de aplicativos; o selo identifica um aplicativo como um aplicativo de trabalho. O EMM tem controle apenas sobre o perfil de trabalho e não sobre o espaço pessoal (com algumas exceções, como aplicar a tela de bloqueio).

Proprietários de dispositivos

O proprietário do dispositivo pode ser definido apenas em um dispositivo não provisionado, pois o proprietário deve ser provisionado durante a configuração inicial do dispositivo. As configurações rápidas devem sempre exibir uma divulgação. Os proprietários de dispositivos podem realizar algumas tarefas que os proprietários de perfis não podem, como:

  • Limpando os dados do dispositivo.
  • Desativando Wi-Fi ou Bluetooth.
  • Configurando o valor de setGlobalSetting .
  • Configurando o valor de setLockTaskPackages , que é a capacidade de listar pacotes que podem se fixar em primeiro plano.
  • Configurando o valor de DISALLOW_MOUNT_PHYSICAL_MEDIA , que é FALSE por padrão; quando definido como TRUE , a mídia física portátil e adotável não pode ser montada).

APIs DevicePolicyManager

O Android 5.0 ou superior oferece um DevicePolicyManager aprimorado com APIs que dão suporte a casos de uso de gerenciamento de propriedade corporativa e trazem seu próprio dispositivo (BYOD), incluindo restrição de aplicativos, instalação silenciosa de certificados e controle de acesso à intenção de compartilhamento entre perfis. Para começar, use o aplicativo Device Policy Client (DPC) de exemplo BasicManagedProfile.apk . Para obter detalhes, consulte Construir um controlador de política de dispositivo .

Experiência do usuário do perfil de trabalho

O Android 9 ou superior cria uma integração mais estreita entre os perfis de trabalho e a plataforma Android, tornando mais fácil para os usuários manter suas informações pessoais e de trabalho separadas em seus dispositivos. As alterações do perfil de trabalho aparecem no inicializador e fornecem uma experiência de usuário consistente em todos os dispositivos gerenciados.

Dispositivos com uma bandeja de aplicativos

No Android 9 ou superior, as alterações de UX do perfil de trabalho para o Launcher3 ajudam os usuários a manter perfis pessoais e de trabalho separados. A gaveta de aplicativos fornece uma visualização com guias para distinguir aplicativos de perfil pessoal. Quando os usuários visualizam pela primeira vez a guia do perfil de trabalho, eles recebem uma visualização educacional para ajudá-los a navegar pelo perfil de trabalho. Eles também podem ativar ou desativar o perfil de trabalho usando uma alternância na guia de trabalho do iniciador.

Visualizações de perfil com guias

No Android 9 ou superior, um perfil de trabalho permite que os usuários alternem entre listas de aplicativos pessoais e gerenciadas na gaveta de aplicativos. As visualizações do aplicativo são separadas em dois RecyclerViews distintos, gerenciados por um ViewPager . Os usuários podem alternar entre as diferentes visualizações de perfil usando as guias de perfil na parte superior da gaveta do aplicativo, conforme ilustrado abaixo:


Figura 1. Visualização da guia pessoal

Figura 2. Visualização da guia Trabalho, alternância do perfil de trabalho

A visualização com guias é implementada como parte da classe AllAppsContainerView Launcher3. Para uma implementação de referência do indicador de perfil com guias, consulte a classe PersonalWorkSlidingTabStrip .

Visualização educacional

O Android 9 ou superior é compatível com uma visualização educacional que informa os usuários sobre a finalidade da guia de trabalho e como eles podem facilitar o acesso aos aplicativos de trabalho. Usando o Launcher3, você pode apresentar uma visualização educacional na parte inferior da tela da guia de trabalho quando os usuários abrirem a guia de trabalho pela primeira vez, conforme mostrado abaixo:

Visualização educacional

Figura 3. Visão educacional

A visualização educacional é definida pela classe BottomUserEducationView com o layout controlado por work_tab_tottom_user_education_view.xml . No BottomUserEducationView , o booleano KEY_SHOWED_BOTTOM_USER_EDUCATION é definido como false por padrão. Quando o usuário descarta a visualização educacional, o booleano é definido como true .

Alterne para ativar ou desativar perfis de trabalho

No Android 9 ou superior, os administradores de dispositivos gerenciados podem apresentar uma alternância no rodapé da guia de trabalho para que os usuários ativem ou desativem o perfil de trabalho. A ativação e desativação do perfil de trabalho é feita de forma assíncrona e aplicada a todos os perfis de usuário válidos; esse processo é controlado pela classe WorkModeSwitch . Para alternar a fonte, consulte WorkFooterContainer .

Dispositivos sem bandeja de aplicativos

Para inicializadores sem bandeja de aplicativos, continue colocando atalhos para os aplicativos de perfil de trabalho na pasta de trabalho. Se a pasta de trabalho não for preenchida corretamente e os aplicativos recém-instalados não forem adicionados à pasta, aplique a seguinte alteração no método onAllAppsLoaded na classe ManagedProfileHeuristic :

for (LauncherActivityInfo app : apps) {
        // Queue all items which should go in the work folder.
        if (app.getFirstInstallTime() < Long.MAX\_VALUE) {
                InstallShortcutReceiver.queueActivityInfo(app, context);
        }
}

Validando alterações de UX

Para testar a implementação de UX do perfil de trabalho usando o aplicativo TestDPC:

  1. No dispositivo, instale o aplicativo TestDPC da Google Play Store.

  2. Abra o iniciador ou a gaveta de aplicativos e selecione Configurar TestDPC .

  3. Siga as instruções na tela para configurar um perfil de trabalho.


    Figura 4. Configurar perfil de trabalho


    Figura 5. Adicionar contas


    Figura 6. Configuração concluída

  4. Abra o inicializador ou a gaveta de aplicativos e verifique se a guia de trabalho está presente e contém um rodapé de perfil de trabalho.

  5. Verifique se você pode ativar e desativar o perfil de trabalho confirmando se o perfil de trabalho está ativado e desativado conforme o esperado. As figuras a seguir mostram exemplos de perfis de trabalho ativados e desativados:


    Figura 7. Ativar, perfil de trabalho ativado

    Figura 8. Desativar, perfil de trabalho desativado

Selo do aplicativo de perfil de trabalho

No Android 9 ou superior, por motivos de acessibilidade, a cor do selo de trabalho é azul (#1A73E8) em vez de laranja.