Convertendo um usuário existente em um perfil restrito

10

Com o Android 4.3, vem um novo recurso, perfis restritos . Permite criar novos usuários "restritos" especiais, para os quais um usuário administrador pode controlar o acesso aos aplicativos.

No entanto, além do meu próprio usuário administrador, eu já tenho um usuário secundário para o meu filho, que possui todos os dados específicos do usuário, como jogos salvos. Se eu criar um novo perfil restrito, eles serão perdidos.

Como converter um usuário existente (secundário) em um perfil restrito?

Nota para os interessados: o recurso de perfis restritos não fornece um bloqueio de acesso seguro completo, mas funciona bem como um impedimento e evita erros acidentais - o que é exatamente o que me interessa.

Ilari Kajaste
fonte
Sua segunda conta é um usuário, não um perfil, certo?
amigos estão dizendo sobre geffchang
A que dispositivo você se refere, IIRC, vários usuários confinados apenas a tablets ?
T2mm13b
O dispositivo é o Nexus 10, um tablet Android com sistema operacional Android baunilha.
Ilari Kajaste
11
@geffchang Sim, um usuário. Eu estava confundindo os dois conceitos. Agora esclareço a terminologia da pergunta (e excluí minha resposta anterior).
Ilari Kajaste
Fico feliz que você tenha conseguido distinguir entre um usuário e um perfil. No entanto, você tem um caso interessante (comercial). Se você denunciar aos canais de suporte do Google, talvez eles possam dar suporte no futuro (pelo menos para transferir dados existentes para um novo perfil).
geffchang

Respostas:

6

A partir deste momento, não é possível converter um usuário em um perfil.

No entanto, você pode criar um perfil com base no usuário existente. Desvantagem: como um perfil não tem uma Conta do Google vinculada a ele, ele não pode ter um aplicativo do GMail. E como você já mencionou, eles também perderiam esses dados específicos do usuário.

ATUALIZAÇÃO # 1: A partir Android.com , ele diz que um perfil restrito é um subconjunto de uma conta de usuário. Está usando a mesma conta de usuário, embora restrita. Portanto, o perfil é bem diferente de um Usuário, onde está vinculado a uma Conta do Google diferente.

Cada perfil restrito oferece um espaço isolado e seguro com seu próprio armazenamento local, telas iniciais, widgets e configurações. Ao contrário dos usuários, os perfis são criados a partir do ambiente do proprietário do tablet, com base nos aplicativos e contas de sistema instalados pelo proprietário . O proprietário controla quais aplicativos instalados estão habilitados no novo perfil e o acesso às contas do proprietário é desabilitado por padrão.

geffchang
fonte
Eu estava com medo. Alguma referência para isso? Você tem certeza de que não há truques para fazer isso, mesmo que não seja diretamente suportado?
Ilari Kajaste
@IlariKajaste Com base no que li sobre O que há de novo , usuários e perfis são entidades realmente diferentes. Um perfil é um subconjunto de um usuário, enquanto um usuário é como qualquer usuário comum.
precisa saber é o seguinte
@IlariKajaste Pelo que li no XDA, não há como converter um usuário em um perfil.
Geffchang
@IlariKajaste Adicionei a Atualização # 1 à minha resposta.
precisa saber é o seguinte
Obrigado, essa é uma informação muito interessante! Gostaria de saber se existe uma maneira simples de transferir dados e configurações de aplicativos de uma conta de usuário para um perfil restrito. Eu acho que, pelo menos, dados de aplicativos deve ser possível usando algum aplicativo de backup, como Titanium ...
Ilari Kajaste
4

No sistema raiz, altere o arquivo xml para o usuário em / data / system / users / flags de 16 a 24 Exemplo:

id do usuário = "11" serialNumber = "13" flags = "24" created = "1373565328127" lastLoggedIn = "1376779161829" icon = "/ data / system / users / 11 / photo.png"

Aqui estão as constantes https://android.googlesource.com/platform/frameworks/base.git/+/android-4.2.2_r1/core/java/android/content/pm/UserInfo.java

/**
 * Primary user. Only one user can have this flag set. Meaning of this
 * flag TBD.
 */
public static final int FLAG_PRIMARY = 0x00000001;

/**
 * User with administrative privileges. Such a user can create and
 * delete users.
 */
public static final int FLAG_ADMIN   = 0x00000002;

/**
 * Indicates a guest user that may be transient.
 */
public static final int FLAG_GUEST   = 0x00000004;

/**
 * Indicates the user has restrictions in privileges, in addition to those for normal users.
 * Exact meaning TBD. For instance, maybe they can't install apps or administer WiFi access pts.
 */
public static final int FLAG_RESTRICTED = 0x00000008;

/**
 * Indicates that this user has gone through its first-time initialization.
 */
public static final int FLAG_INITIALIZED = 0x00000010;

EngyCZ

user49191
fonte