as,我们知道Android设备支持来自Android版本4.2的多个用户帐户。
我的问题是可以为单个设备创建多少个用户?有限制吗?
在Android 5.0起,默认情况下,多用户功能将被禁用。为了启用它,设备制造商必须定义一个资源覆盖层,该覆盖层在框架/base/core/res/res/res/values/config.xml中替换以下值:
<!-- Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">1</integer>
<!-- Whether Multiuser UI should be shown -->
<bool name="config_enableMultiUserUI">false</bool>
要应用此覆盖层并在设备上启用访客和次要用户,请使用device_package_overlays的功能Android Build System的功能:
用大于1的config_multiusermaxumerusers替换值用以下设备制造商可以决定最大数量的用户。如果设备制造商或其他设置已修改设置,则必须确保Android兼容性定义文档(CDD)中定义的SMS和电话工作。
看一下 fw.max_users 系统属性:
~$ adb shell pm get-max-users
Maximum supported users: 4
~$ adb shell setprop fw.max_users 999
Failed to set property 'fw.max_users' to '999'.
See dmesg for error reason.
~$ adb root
restarting adbd as root
~$ adb shell setprop fw.max_users 999
~$ adb shell pm get-max-users
Maximum supported users: 999
另请参见:fw.show_multiuserui = 1,是否可以从ADB启用Android多用户?,如何配置超过5个多用户。
是的,有一个限制:可以在设备上创建的最大数量的Android用户是在构建时间定义的。
如@Vishal Jangid所述,从Android 5.0开始引入以下配置(在frameworks/base/core/res/res/values/config.xml
中):
<!-- Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">1</integer>
<!-- Whether Multiuser UI should be shown -->
<bool name="config_enableMultiUserUI">false</bool>
这意味着每个设备制造商都可以覆盖它们以选择支持多用户功能,并定义可以在设备上创建的最大用户数量。
您可以知道设备上的最大用户通过:
- 以下 shell命令(在运行时):
~ $ adb shell pm get-max-users
Maximum supported users: 4
- Android的UserManager(仅当您的应用程序是系统应用程序时,该API带有
@hide
注释):
int maxUsers = UserManager.getMaxSupportedUsers();
来源支持多个用户