Преобразование существующего пользователя в ограниченный профиль

10

С Android 4.3 поставляется новая функция, ограниченные профили . Это позволяет создавать новых специальных «ограниченных» пользователей, для которых администратор может контролировать доступ к приложениям.

Однако, в дополнение к моему собственному администратору, у меня уже есть дополнительный пользователь для моего ребенка, у которого есть все пользовательские данные, такие как сохраненные игры. Если я создам новый ограниченный профиль, они будут потеряны.

Как я могу преобразовать существующего (вторичного) пользователя в профиль с ограниченным доступом?

Примечание для интересующихся: функция ограниченных профилей не обеспечивает полный блок безопасного доступа, но она хорошо работает в качестве препятствия и предотвращает случайные ошибки - что, собственно, и вызывает интерес.

Илари Каясте
источник
Ваш второй аккаунт - пользователь, а не профиль, верно?
Geffchang
На какое устройство вы ссылаетесь, IIRC, несколько пользователей ограничены только планшетами ?
t0mm13b
Устройство - Nexus 10, планшет Android с ванильной ОС Android.
Илари Каджасте
1
@geffchang Да, пользователь. Я путал две концепции. Теперь я прояснил терминологию вопроса (и удалил свой предыдущий ответ).
Илари Каясте
Я рад, что вы смогли отличить пользователя от профиля. Тем не менее, у вас есть интересный (бизнес) случай. Если вы сообщите об этом каналам поддержки Google, возможно, они смогут поддержать его в будущем (по крайней мере, для переноса существующих данных в новый профиль).
Geffchang

Ответы:

6

На данный момент невозможно преобразовать пользователя в профиль.

Тем не менее, вы можете создать профиль на основе существующего пользователя. Недостаток: поскольку к профилю не привязана учетная запись Google, у него не может быть приложения GMail. И, как вы уже упоминали, они также потеряли бы эти пользовательские данные.

UPDATE # 1: От Android.com , он говорит , что запретный профиль является подмножеством учетной записи пользователя. Он использует ту же учетную запись пользователя, хотя и ограниченную. Таким образом, профиль сильно отличается от пользователя, где он связан с другой учетной записью Google.

Каждый ограниченный профиль предлагает изолированное и безопасное пространство с собственным локальным хранилищем, домашними экранами, виджетами и настройками. В отличие от пользователей, профили создаются из среды владельца планшета на основе установленных приложений и системных учетных записей владельца . Владелец контролирует, какие установленные приложения включены в новом профиле, и доступ к учетным записям владельца по умолчанию отключен.

geffchang
источник
Я так боялась. Любая ссылка для этого? Вы уверены, что для этого нет взломов, хотя это не поддерживается напрямую?
Илари Каджасте
@IlariKajaste Судя по тому, что я прочитал в разделе « Что нового» , пользователи и профили - это действительно разные сущности. Профиль - это подмножество пользователя, а пользователь похож на любого обычного пользователя.
Geffchang
@IlariKajaste Из того, что я прочитал в XDA, нет способа конвертировать пользователя в профиль.
Geffchang
@IlariKajaste Я добавил обновление № 1 в свой ответ.
Geffchang
Спасибо, это очень интересная информация! Интересно, есть ли простой способ перенести данные и настройки приложения из учетной записи пользователя в профиль с ограниченным доступом? Я думаю, что по крайней мере данные приложения должны быть возможны с помощью некоторого приложения для резервного копирования, такого как Titanium ...
Ilari Kajaste
4

Изменение корневой системы в xml-файле для пользователя в / data / system / users / flags с 16 на 24 Пример:

user id = "11" serialNumber = "13" flags = "24" созданный = "1373565328127" lastLoggedIn = "1376779161829" icon = "/ data / system / users / 11 / photo.png"

Вот константы 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
источник