将现有用户转换为受限配置文件


10

Android 4.3附带了一项新功能,即受限配置文件。它允许创建新的特殊“受限制”用户,管理员用户可以针对这些用户控制对应用程序的访问。

但是,除了我自己的管理员用户之外,我已经为我的孩子有了一个辅助用户,该用户具有所有用户特定的数据,例如保存的游戏。如果我创建一个新的受限配置文件,这些配置文件将丢失。

如何将现有(辅助)用户转换为受限个人资料?

有兴趣的人注意:受限制的配置文件功能不能提供完整的安全访问块,但它可以作为障碍并防止意外错误-恰好是我感兴趣的。


您的第二个帐户是用户,而不是个人资料,对吗?
geffchang

您所指的是什么设备,IIRC,仅限于平板电脑的多个用户?
t0mm13b

该设备是Nexus 10,这是一款带有普通Android操作系统的Android平板电脑。
Ilari Kajaste

1
@geffchang是的,用户。我把这两个概念弄混了。现在,我清除了问题的术语(并删除了我先前的回答)。
Ilari Kajaste

很高兴您能够区分用户和个人资料。但是,您有一个有趣的(商业)案例。如果您将其报告给Google的支持渠道,也许他们将来会支持(至少用于将现有数据转移到新的配置文件中)。
geffchang

Answers:


6

到目前为止,尚无法将用户转换为个人资料。

但是,您可以基于现有用户创建配置文件。缺点:由于个人资料没有关联的Google帐户,因此他们无法拥有GMail应用。正如您已经提到的那样,他们还将丢失那些用户特定的数据。

更新#1:Android.com可以看到,受限配置文件是用户帐户的子集。它使用相同的用户帐户,尽管受限制。因此,个人资料与用户不同,后者与其他Google帐户绑定。

每个受限制的配置文件均具有其自身的本地存储,主屏幕,小部件和设置,提供了隔离且安全的空间。与用户不同,配置文件是根据平板电脑所有者的环境根据所有者安装的应用程序和系统帐户创建的。所有者控制在新配置文件中启用了哪些已安装的应用程序,并且默认情况下禁用对所有者帐户的访问。


我很害怕。任何参考呢?即使不直接支持,您是否确定没有骇客的作法?
Ilari Kajaste

@IlariKajaste根据我对“新增功能”的了解,用户和个人资料本身实际上是不同的实体。个人资料是用户的子集,而用户就像任何普通用户一样。
geffchang

@IlariKajaste根据我在XDA上阅读的内容,无法将用户转换为个人资料。
geffchang

@IlariKajaste我在答案中添加了更新#1。
geffchang

谢谢,这是非常有趣的信息!我想知道是否有一种简单的方法可以将应用程序数据和设置从用户帐户传输到受限个人资料。我猜至少应该可以通过使用一些备份应用程序(例如Titanium)来获取应用程序数据...
Ilari Kajaste

4

在生根系统上,将/ data / system / users /标志中的用户xml文件中的用户更改从16更改为24示例:

用户ID =“ 11” serialNumber =“ 13” flags =“ 24” created =“ 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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.