Mengonversi pengguna yang ada ke profil terbatas

10

Dengan Android 4.3 hadir fitur baru, profil terbatas . Ini memungkinkan membuat pengguna "terbatas" khusus baru, yang untuknya seorang admin dapat mengontrol akses ke aplikasi.

Namun, selain pengguna admin saya sendiri, saya sudah memiliki pengguna sekunder untuk anak saya, yang memiliki semua data khusus pengguna, seperti game yang disimpan. Jika saya membuat profil terbatas baru, itu akan hilang.

Bagaimana saya bisa mengkonversi pengguna (sekunder) yang ada ke profil terbatas?

Catatan untuk yang berminat: Fitur profil terbatas tidak menyediakan blok akses aman yang lengkap, tetapi berfungsi dengan baik sebagai penghalang dan mencegah kesalahan yang tidak disengaja - yang kebetulan merupakan hal yang sangat menarik bagi saya.

Ilari Kajaste
sumber
Akun kedua Anda adalah pengguna, bukan profil, bukan?
geffchang
Perangkat apa yang Anda maksud, IIRC, beberapa pengguna hanya terbatas pada tablet ?
t0mm13b
Perangkatnya adalah Nexus 10, tablet Android dengan vanilla Android OS.
Ilari Kajaste
1
@geffchang Ya, pengguna. Saya bingung dua konsep. Saya sekarang membersihkan terminologi pertanyaan (dan menghapus jawaban saya sebelumnya).
Ilari Kajaste
Saya senang Anda dapat membedakan antara pengguna dan profil. Namun, Anda memiliki kasus (bisnis) yang menarik. Jika Anda melaporkannya ke saluran dukungan Google, mungkin mereka dapat mendukungnya di masa mendatang (setidaknya untuk mentransfer data yang ada ke profil baru).
geffchang

Jawaban:

6

Sampai saat ini, tidak mungkin untuk mengubah pengguna menjadi profil.

Namun, Anda dapat membuat profil berdasarkan pengguna yang ada. Kelemahan: Karena profil tidak memiliki akun Google yang terikat padanya, mereka tidak dapat memiliki aplikasi GMail. Dan seperti yang telah Anda sebutkan, mereka juga akan kehilangan data spesifik pengguna tersebut.

UPDATE # 1: Dari Android.com , dikatakan bahwa profil terbatas adalah bagian dari akun pengguna. Itu menggunakan akun pengguna yang sama, meskipun dibatasi. Jadi profilnya sangat berbeda dari Pengguna, di mana itu terkait dengan akun Google yang berbeda.

Setiap profil terbatas menawarkan ruang yang terisolasi dan aman dengan penyimpanan lokal, layar beranda, widget, dan pengaturannya sendiri. Berbeda dengan pengguna, profil dibuat dari lingkungan pemilik tablet, berdasarkan pada aplikasi dan akun sistem yang diinstal pemilik . Pemilik mengontrol aplikasi yang diinstal yang diaktifkan di profil baru, dan akses ke akun pemilik dinonaktifkan secara default.

geffchang
sumber
Saya takut begitu. Ada referensi untuk ini? Apakah Anda yakin tidak ada hackaround untuk melakukan ini, meskipun tidak didukung secara langsung?
Ilari Kajaste
@IlariKajaste Berdasarkan apa yang saya baca di What's New , pengguna dan profil adalah entitas yang benar-benar berbeda. Profil adalah bagian dari pengguna, sementara pengguna seperti pengguna biasa.
geffchang
@IlariKajaste Dari apa yang saya baca di XDA, tidak ada cara untuk mengubah pengguna menjadi profil.
geffchang
@IlariKajaste Saya menambahkan Pembaruan # 1 untuk jawaban saya.
geffchang
Terima kasih, itu informasi yang sangat menarik! Saya ingin tahu apakah ada cara sederhana untuk mentransfer data aplikasi dan pengaturan dari akun pengguna ke profil terbatas. Saya kira setidaknya data aplikasi harus dimungkinkan dengan menggunakan beberapa aplikasi cadangan, seperti Titanium ...
Ilari Kajaste
4

Pada perubahan sistem yang di-root pada file xml untuk pengguna di / data / sistem / pengguna / flag dari 16 menjadi 24 Contoh:

user id = "11" serialNumber = "13" flags = "24" dibuat = "1373565328127" lastLoggedIn = "1376779161829" icon = "/ data / sistem / pengguna / 11 / photo.png"

Berikut adalah konstanta 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

pengguna49191
sumber