Espaço privado

Figura 1.O espaço privado pode ser desbloqueado e bloqueado para mostrar ou ocultar apps sensíveis em um dispositivo.

O espaço privado permite que os usuários criem um ambiente seguro e isolado no dispositivo para manter os apps sensíveis longe de olhares curiosos. Os apps no espaço particular 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 particular está bloqueado.

O espaço em sandbox é um perfil do Android separado. 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 de app é copiado para o espaço privado. Quando o espaço está bloqueado, o usuário do perfil particular é interrompido. 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) e as contas do usuário são separados entre o espaço privado e o principal. É possível usar a 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 particular é baseado no modelo multiusuário do Android e adiciona o seguinte perfil e usertype:

Perfil:
Particular
Tipo de usuário:
android.os.usertype.profile.PRIVATE

Configurações e apps de acesso rápido

É necessário atualizar as configurações e os apps de inicialização para oferecer suporte a estados de bloqueio, desbloqueio e ocultos. 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 está bloqueado, o app de configurações não pode revelar a existência do espaço privado.

Use LauncherApps#getLauncherUserInfo para identificar o usuário do perfil privado. Os apps de inicialização 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 privado.

Os apps de inicialização podem usar o método UserManager.isQuietModeEnabled para verificar o estado do perfil privado.

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 clone. É 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 Sharesheet, no seletor de fotos e na interface dos Documentos. Os apps no espaço particular não são mostrados em nenhuma dessas plataformas quando o espaço particular está bloqueado. O espaço privado pode ter apenas uma instância em um único dispositivo e existir apenas para o usuário principal, não para usuários secundários ou em outros perfis.

Permissões

Os apps de inicialização precisam ter a permissão android.permission.ACCESS_HIDDEN_PROFILES e o papel android.app.role.RoleManager.ROLE_HOME para acessar perfis particulares.

As implementações que não usam o iniciador do AOSP precisam modificar o iniciador para adicionar suporte ao perfil particular. Leia mais sobre como desenvolver um app de inicialização com espaço privado em Apps de inicialização no site para desenvolvedores.

Intents

As intents de telefonia são roteadas para o usuário principal e exibem uma notificação. Todas as outras intents são limitadas ao perfil particular e não são redirecionadas.