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

Suportando Múltiplos Usuários

O Android oferece suporte a vários usuários em um único dispositivo Android, separando contas de usuários e dados de aplicativos. Por exemplo, os pais podem permitir que seus filhos usem o tablet da família, uma família pode compartilhar um automóvel ou uma equipe de resposta crítica pode compartilhar um dispositivo móvel para plantão.

Terminologia

O Android usa os seguintes termos ao descrever usuários e contas do Android.

Em geral

O gerenciamento de dispositivos Android usa os seguintes termos gerais.

  • Usuário. Cada utilizador se destina a ser utilizado por uma pessoa física diferente. Cada usuário possui dados de aplicativo distintos e algumas configurações exclusivas, bem como uma interface de usuário para alternar explicitamente entre os usuários. Um usuário pode ser executado em segundo plano quando outro usuário está ativo; o sistema gerencia o desligamento de usuários para conservar recursos quando apropriado. Usuários secundários podem ser criados diretamente através da interface do usuário ou de uma Administração Dispositivo aplicação.
  • Conta. As contas estão contidas em um usuário, mas não são definidas por um usuário, nem um usuário é definido por ou vinculado a uma determinada conta. Os usuários e perfis contêm suas próprias contas exclusivas, mas não precisam ter contas para funcionar. A lista de contas varia de acordo com o usuário. Para mais detalhes, consulte a classe Conta definição.
  • Perfil. Um perfil separou dados de aplicativos, mas compartilha algumas configurações de todo o sistema (por exemplo, Wi-Fi e Bluetooth). Um perfil é um subconjunto e está vinculado à existência de um usuário. Um usuário pode ter vários perfis. Perfis são criados através de uma administração de dispositivos de aplicação. Um perfil sempre tem uma associação imutável a um usuário pai, definida pelo usuário que criou o perfil. Os perfis não existem além do tempo de vida do usuário de criação.
  • App. Os dados de um aplicativo existem em cada usuário associado. Os dados do aplicativo são colocados em sandbox de outros aplicativos no mesmo usuário. Aplicativos dentro do mesmo usuário podem interagir uns com os outros via IPC. Para mais detalhes, consulte Android para a empresa .

Categorias de usuários

A administração de dispositivos Android usa as seguintes categorias de usuários.

  • Usuário do sistema. Primeiro usuário adicionado a um dispositivo. O usuário do sistema não pode ser removido, exceto por redefinição de fábrica e está sempre em execução, mesmo quando outros usuários estão em primeiro plano. Este usuário também possui privilégios e configurações especiais que só ele pode definir.
  • Usuário secundário. Qualquer usuário adicionado ao dispositivo que não seja o usuário do sistema. Os usuários secundários podem ser removidos (por si próprios ou por um usuário administrador) e não podem afetar outros usuários em um dispositivo. Esses usuários podem ser executados em segundo plano e continuar a ter conectividade de rede.
  • Usuários Visitante. Usuário secundário temporário. Os usuários convidados têm uma opção explícita de excluir rapidamente o usuário convidado quando sua utilidade acabar. Só pode haver um usuário convidado por vez.
  • Usuário administrador. Um usuário que tem permissão para criar e remover outros usuários, bem como controlar algumas configurações gerais de multiusuário. Por padrão, apenas o usuário do sistema é um administrador.

Categorias de perfis

A administração de dispositivos Android usa as seguintes categorias de perfis.

  • Perfil gerenciado. Criado por um aplicativo para conter dados de trabalho e aplicativos. Eles são gerenciados exclusivamente pelo proprietário do perfil (o aplicativo que criou o perfil corporativo). O iniciador, as notificações e as tarefas recentes são compartilhadas pelo usuário pai e pelo perfil corporativo.
  • Perfil restrito. Usa contas baseadas no usuário pai, que pode controlar quais aplicativos estão disponíveis no perfil restrito. Disponível apenas em tablets e aparelhos de televisão.

Tipos de usuário

Android 11 formulou a classificação acima de utilizadores e de perfis de utilizador em tipos bem definidas, representando todos os diferentes tipos de utilizadores e de perfis permitidos pela característica multi-utilizador Android.

Os tipos de utilizadores pré-definido AOSP são definidos em frameworks/base/core/java/android/os/UserManager.java e actualmente incluem:

  • android.os.usertype.full.SYSTEM
  • android.os.usertype.full.SECONDARY
  • android.os.usertype.full.GUEST
  • android.os.usertype.full.DEMO
  • android.os.usertype.full.RESTRICTED
  • android.os.usertype.profile.MANAGED
  • android.os.usertype.system.HEADLESS

OEMs têm a capacidade de configurar esses tipos de usuário sobrepondo o frameworks/base/core/res/res/xml/config_user_types.xml arquivo. Isso facilita a alteração da configuração padrão para cada tipo de usuário, incluindo suas restrições padrão, ícones, emblemas e o número máximo permitido de usuários.

Além dos tipos de usuário AOSP configuráveis, os OEMs podem definir novos tipos de perfil usando o frameworks/base/core/res/res/xml/config_user_types.xml arquivo. Isso permite que os OEMs introduzam seus próprios tipos de perfis não gerenciados, se desejado. No entanto, é responsabilidade do OEM fazer modificações na plataforma conforme necessário para dar suporte às alterações, incluindo a modificação de qualquer código que verifica os perfis gerenciados para agora lidar com o novo tipo de perfil, se apropriado.

Habilitando multiusuário

A partir do Android 5.0, o recurso multiusuário é desabilitado por padrão. Para ativar o recurso, os fabricantes de dispositivos deve definir uma sobreposição de recurso que substitui os seguintes valores em frameworks/base/core/res/res/values/config.xml :

<!--  Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">1</integer>
<!--  Whether Multiuser UI should be shown -->
<bool name="config_enableMultiUserUI">false</bool>

Para aplicar esta sobreposição e permitir que clientes e usuários secundários no dispositivo, use os DEVICE_PACKAGE_OVERLAYS característica do sistema de compilação Android para substituir os valores para:

  • config_multiuserMaximumUsers com um valor maior do que 1
  • config_enableMultiUserUI com true

Os fabricantes de dispositivos podem decidir sobre o número máximo de usuários. Se os fabricantes de dispositivos ou outros têm modificado as configurações, devem assegurar SMS e telefonia trabalho, conforme definido na Definição de Compatibilidade Android Document (CDD).

Gerenciando vários usuários

Gerenciamento de usuários e perfis (com exceção de perfis vinculados) é realizada por aplicativos que programaticamente invocar API na DevicePolicyManager classe para restringir o uso.

Escolas e empresas podem empregar utilizadores e de perfis para gerir o tempo de vida e do âmbito de aplicações e dados em dispositivos, usando os tipos descritos acima em conjunção com a API UserManager para construir soluções únicas adaptados aos seus casos de uso.

Comportamento do sistema multiusuário

Quando os usuários são adicionados a um dispositivo, algumas funcionalidades são restringidas quando outro usuário está em primeiro plano. Como os dados do aplicativo são separados por usuário, o estado desses aplicativos difere de acordo com o usuário. Por exemplo, o e-mail destinado a uma conta de um usuário que não está em foco no momento não estará disponível até que o usuário e a conta estejam ativos no dispositivo.

Por padrão, apenas o usuário do sistema tem acesso total a chamadas telefônicas e textos. O usuário secundário pode receber chamadas, mas não pode enviar ou receber textos. Um usuário administrador deve habilitar essas funções para outros.

Nota: Para ativar ou desativar as funções do telefone e SMS para um usuário secundário, vá para Configurações> Usuários, selecione o usuário, e ligue a telefonemas e configuração SMS para fora Permitir.

Existem algumas restrições quando um usuário secundário está em segundo plano. Por exemplo, o usuário secundário em segundo plano não pode exibir a interface do usuário ou tornar os serviços Bluetooth ativos. Além disso, o processo do sistema interromperá os usuários secundários em segundo plano se o dispositivo precisar de memória adicional para operações no usuário em primeiro plano.

Ao empregar vários usuários em um dispositivo Android, tenha em mente o seguinte comportamento:

  • As notificações aparecem para todas as contas de um único usuário de uma vez.
  • As notificações para outros usuários não aparecem até que estejam ativas.
  • Cada usuário obtém um espaço de trabalho para instalar e colocar aplicativos.
  • Nenhum usuário tem acesso aos dados do aplicativo de outro usuário.
  • Qualquer usuário pode afetar os aplicativos instalados para todos os usuários.
  • Um usuário administrador pode remover aplicativos ou até mesmo todo o espaço de trabalho estabelecido por usuários secundários.

O Android 7.0 inclui vários aprimoramentos, incluindo:

  • Perfil de trabalho de alternância. Os usuários podem desativar seus perfis gerenciados (por exemplo, quando não estão no trabalho). Essa funcionalidade é obtida interrompendo o usuário; UserManagerService chama ActivityManagerNative#stopUser() .
  • Always-on VPN. Os aplicativos VPN agora podem ser configurados como sempre ativos pelo usuário, DPC do dispositivo ou DPC de perfil gerenciado (aplica-se apenas aos aplicativos de perfil gerenciado). Quando ativado, os aplicativos não podem acessar a rede pública (o acesso aos recursos da rede é interrompido até que a VPN seja conectada e as conexões possam ser roteadas por ela). Os dispositivos que relatório device_admin deve implementar always-on VPN.

Para mais detalhes sobre Android recursos de administração 7.0 dispositivos, consulte o Android for Work .

Multiusuários Android Automotive

O Android Automotive depende da implementação multiusuário do Android para fornecer uma experiência de dispositivo compartilhada.

Tipos de usuários automotivos

Além dos tipos de usuários listados acima, as construções automotivas são notáveis ​​para estes tipos de usuários:

  • Usuário de sistema sem cabeça. O usuário do sistema hospeda todos os serviços do sistema. Para suportar vários usuários em Automotive, o usuário do sistema também deve ser decapitado. Existe apenas um usuário sem cabeça. Um usuário de sistema sem cabeça:
    • Deve sempre ser executado em segundo plano.
    • Não pode ser removido ou acessado diretamente pelo usuário, exceto no caso de provisionamento de dispositivo. Por exemplo, os usuários não podem mudar para este tipo de usuário para realizar tarefas como baixar aplicativos ou adicionar contas.
    • Só pode ser apagado por uma redefinição de fábrica.
  • Usuários regulares. O mesmo que utilizadores secundários , descritos acima, excepto que os utilizadores secundárias:
    • Não corra em segundo plano (após ter sido desligado).
    • Pode ser criado diretamente por meio da interface do usuário.
    • Separam dados de aplicativos, mas compartilham algumas configurações de todo o sistema. Por exemplo, Wi-Fi e Bluetooth.

Ressalvas

As seguintes exceções se aplicam ao usuário do sistema sem cabeça e aos usuários regulares (secundários) no setor automotivo:

  • O usuário do sistema headless não oferece suporte a perfis de trabalho.
  • Por padrão, os usuários regulares (secundários) têm acesso total a chamadas telefônicas e mensagens de texto.
  • Por padrão, os usuários regulares (secundários) não são executados em segundo plano.

Habilitando o usuário do sistema sem cabeça

A partir do Android 10, o recurso multiusuário pode ser usado para casos de uso automotivos. Distinções importantes incluem:

  • O usuário do sistema não tem cabeça e é executado apenas em segundo plano.
  • Os usuários humanos não interagem com o usuário do sistema.

Para habilitar o usuário do sistema headless, os fabricantes do dispositivo devem habilitar multiusuário, conforme descrito acima.

Quando o usuário sem cabeça está ativado:
  1. Para declarar o dispositivo a ser Automotive, adicionar o recurso android.hardware.type.automotive .
  2. Definir ro.fw.headless_system_user a true .
  3. Definir o valor para config_multiuserMaximumUsers para 2 (ou mais elevado).

Para mais informações, consulte Suporte Multi-User em Automotive.