Figura 1: o espaço privado pode ser desbloqueado e bloqueado para mostrar ou ocultar apps sensíveis em um dispositivo.
Com o espaço privado, os usuários podem criar um ambiente seguro e isolado no dispositivo para manter apps sensíveis longe de olhares curiosos. Os apps no espaço privado ficam separados dos demais na tela de início e não aparecem na visualização de recentes, nas notificações, nas configurações e em outros apps quando o espaço privado está bloqueado.
O espaço isolado é um perfil separado do Android. Quando o usuário final adiciona ou instala um app no espaço privado, ele é instalado nesse novo perfil do Android. O sistema trata isso como uma nova instalação de app, e nenhum dado do app é copiado para o espaço privado. Quando o espaço é bloqueado, o usuário do perfil privado é pausado. Quando o espaço é desbloqueado, o usuário é iniciado.
Os apps no espaço privado são instalados como cópias separadas dos apps no espaço principal. O conteúdo do usuário (gerado ou baixado pelo usuário) e as contas de usuário são separados entre o espaço privado e o espaço principal. Você pode usar o Sharesheet do sistema e o seletor de fotos para dar aos apps acesso ao conteúdo entre espaços somente quando o espaço privado está desbloqueado.
O espaço privado é baseado no modelo multiusuário do Android e adiciona o seguinte perfil e tipo de usuário:
- Perfil:
- Privado
- Tipo de usuário:
android.os.usertype.profile.PRIVATE
Configurações e apps da tela de início
É preciso atualizar as configurações e os apps de tela de início para oferecer suporte aos estados de bloqueio, desbloqueio e oculto. Quando o espaço privado está bloqueado, o acesso rápido oferece um ponto de entrada para desbloqueá-lo (exceto no estado oculto). Quando o espaço privado estiver bloqueado, o app Configurações não poderá revelar a existência do espaço privado.
Use LauncherApps#getLauncherUserInfo
para identificar o usuário do perfil particular. Os apps de tela de início precisam registrar o estado
bloqueado e o estado
desbloqueado e mudar o estado do espaço privado na interface quando essas transmissões forem recebidas.
Ambas as transmissões têm uma constante extra chamada EXTRA_USER
que pode ser usada para se referir ao usuário do perfil particular.
Os apps de tela de início podem usar o método UserManager.isQuietModeEnabled
para verificar o estado do perfil particular.
Perfil particular
O perfil privado adiciona o novo tipo de perfil
android.os.usertype.profile.PRIVATE
para uso com o espaço privado. O perfil privado pode existir no mesmo dispositivo
que um perfil de trabalho e um perfil clonado. É um espaço isolado separado do usuário principal do Android. Quando o espaço privado é desbloqueado, os apps ficam visíveis
nas configurações, na planilha de compartilhamento, no seletor de fotos e na interface dos Documentos. Os apps no espaço privado
não aparecem em nenhuma dessas interfaces quando o espaço privado está bloqueado.
O espaço privado só pode ter uma instância em um único dispositivo e só pode existir para o usuário principal, não para usuários secundários ou em outros perfis.
Permissões
Os apps de tela de início precisam ter a permissão
android.permission.ACCESS_HIDDEN_PROFILES
e a função android.app.role.RoleManager.ROLE_HOME
para acessar perfis particulares.
Implementações que não usam o iniciador do AOSP precisam modificar o iniciador para adicionar suporte ao perfil privado. Leia mais sobre como desenvolver um app de tela de início com espaço privado em Apps de tela de início no site para desenvolvedores.
Intents
As intents de telefonia são encaminhadas ao usuário principal e mostram uma notificação. Todas as outras intents são limitadas ao perfil particular e não são redirecionadas.
Mover arquivos para o espaço privado
A partir do Android 16 QPR2, os usuários podem mover ou copiar arquivos de fora do espaço privado para o espaço privado. Esse recurso oferece uma maneira segura e simples para os usuários manterem documentos, fotos e outros arquivos sensíveis no perfil particular em sandbox.
O processo é iniciado com um novo atalho Adicionar arquivos do botão Adicionar disponível no contêiner de inicialização do espaço privado. Quando um usuário seleciona essa opção, ele pode navegar e selecionar arquivos de fora do espaço privado usando o seletor de arquivos do sistema. Depois de selecionar os arquivos, é possível copiá-los, deixando os originais no lugar, ou movê-los, o que exclui os arquivos originais após uma transferência bem-sucedida.
A transferência de arquivos é gerenciada por um novo componente do sistema que é executado como um
serviço em primeiro plano apenas no perfil particular, garantindo que o processo seja
seguro e confiável. Os arquivos são salvos na pasta Downloads do
espaço privado.