【发布时间】:2021-08-10 05:57:11
【问题描述】:
【问题讨论】:
标签: android multiple-users android-multiple-users
【问题讨论】:
标签: android multiple-users android-multiple-users
对于API级别24及以上,可以使用UserManager.supportsMultipleUsers()方法,返回设备是否支持boolean中的多用户。
在 API 级别 24 之前,在没有系统权限的情况下没有任何方法可以检查这一点。可以有一种解决方法,例如使用方法getUserCount() 获取用户数。同样,这也需要android.permission.MANAGE_USERS 权限。
【讨论】:
经过几个小时的搜索,我通过浏览 /data/system/users/0 并查看了 settings_system.xml、settings_secure.xml 和 settings_global.xml 找到了答案。事实证明,我正在寻找的是 settings_global.xml 中的“user_switcher_enabled”。
这是我的代码:
public static boolean isMultipleUsersEnabled(Context context) {
try {
int pref = Settings.Global.getInt(context.getContentResolver(), "user_switcher_enabled");
return pref == 1 && (Build.VERSION.SDK_INT < Build.VERSION_CODES.N || UserManager.supportsMultipleUsers());
} catch (Settings.SettingNotFoundException e) {
Utils.logError(TAG, "user_switcher_enabled setting not found: " + e.toString());
return false;
}
}
可能不需要检查 UserManager.supportsMultipleUsers(),但以防万一在实际上不支持多个用户的设备上,偏好是虚假的。
如果您想对此答案添加任何内容,请在下方评论。
【讨论】: