Konwertowanie istniejącego użytkownika na profil ograniczony

10

W Androidzie 4.3 wprowadzono nową funkcję, ograniczone profile . Umożliwia tworzenie nowych specjalnych „ograniczonych” użytkowników, dla których administrator może kontrolować dostęp do aplikacji.

Jednak oprócz mojego administratora, mam już drugiego użytkownika mojego dziecka, który ma wszystkie dane specyficzne dla użytkownika, takie jak zapisane gry. Jeśli utworzę nowy profil zastrzeżony, zostaną one utracone.

Jak przekonwertować istniejącego (dodatkowego) użytkownika na profil ograniczony?

Uwaga dla zainteresowanych: funkcja profili ograniczonych nie zapewnia pełnego bezpiecznego bloku dostępu, ale działa dobrze jako przeszkoda i zapobiega przypadkowym błędom - co akurat jest tym, co mnie interesuje.

Ilari Kajaste
źródło
Twoje drugie konto to użytkownik, a nie profil, prawda?
geffchang
Do jakiego urządzenia masz na myśli, IIRC, wielu użytkowników ogranicza się tylko do tabletów ?
t0mm13b
Urządzeniem jest Nexus 10, tablet z Androidem z waniliowym systemem operacyjnym Android.
Ilari Kajaste,
1
@geffchang Tak, użytkownik. Myliłem te dwie koncepcje. Wyczyściłem teraz terminologię pytania (i usunąłem wcześniejszą odpowiedź).
Ilari Kajaste
Cieszę się, że potrafiłeś odróżnić użytkownika od profilu. Masz jednak interesujący (biznesowy) przypadek. Jeśli zgłosisz to do kanałów pomocy Google, być może mogą one wesprzeć ją w przyszłości (przynajmniej w celu przeniesienia istniejących danych do nowego profilu).
geffchang

Odpowiedzi:

6

W tej chwili nie można przekonwertować użytkownika na profil.

Możesz jednak utworzyć profil w oparciu o istniejącego użytkownika. Wada: ponieważ profil nie jest powiązany z kontem Google, nie może mieć aplikacji Gmail. I jak już wspomniałeś, utracą również dane specyficzne dla użytkownika.

AKTUALIZACJA # 1: Na Android.com napisano , że profil ograniczony jest podzbiorem konta użytkownika. Korzysta z tego samego konta użytkownika, choć jest ograniczone. Profil różni się więc od użytkownika, ponieważ jest powiązany z innym kontem Google.

Każdy profil z ograniczeniami oferuje izolowaną i bezpieczną przestrzeń z własnym lokalnym miejscem do przechowywania, ekranami głównymi, widżetami i ustawieniami. W przeciwieństwie do użytkowników profile są tworzone ze środowiska właściciela tabletu na podstawie zainstalowanych aplikacji i kont systemowych właściciela . Właściciel kontroluje, które zainstalowane aplikacje są włączone w nowym profilu, a dostęp do kont właściciela jest domyślnie wyłączony.

geffchang
źródło
Tak się bałem. Wszelkie odniesienia do tego? Czy jesteś pewien, że nie ma w tym żadnych hackarów, nawet jeśli nie jest to bezpośrednio obsługiwane?
Ilari Kajaste,
@IlariKajaste Na podstawie tego, co przeczytałem na temat Co nowego , użytkownicy i profile są naprawdę różnymi podmiotami. Profil jest podzbiorem użytkownika, podczas gdy użytkownik jest jak każdy zwykły użytkownik.
geffchang
@IlariKajaste Z tego, co przeczytałem na XDA, nie ma sposobu na przekonwertowanie użytkownika na profil.
geffchang
@IlariKajaste Dodałem aktualizację nr 1 do mojej odpowiedzi.
geffchang
Dzięki, to bardzo interesująca informacja! Zastanawiam się, czy istnieje prosty sposób na przeniesienie danych aplikacji i ustawień z konta użytkownika do profilu z ograniczeniami. Sądzę, że przynajmniej dane aplikacji powinny być możliwe przy użyciu aplikacji do tworzenia kopii zapasowych, takiej jak Titanium ...
Ilari Kajaste
4

W systemie zrootowanym zmiana w pliku xml dla użytkownika w / data / system / users / flags od 16 do 24 Przykład:

identyfikator użytkownika = "11" serialNumber = "13" flagi = "24" utworzone = "1373565328127" lastLoggedIn = "1376779161829" ikona = "/ data / system / users / 11 / photo.png"

Oto stałe 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

użytkownik49191
źródło