Android 4.2支持“可共享设备(如平板电脑)”(http://developer.android.com/about/versions/android-4.2.html#MultipleUsers)上的多个用户空间。我如何知道特定设备是否是“可共享设备”?
我可以通过编程方式检查设备是否支持多个用户吗?
答案 0 :(得分:3)
UserManager.supportsMultipleUsers()中有一个隐藏的API。您可以使用以下使用反射的方法来访问它,但通常不建议使用此技术,因为API可能会在以后的版本中更改。
public static boolean supportsMultipleUsers() {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
// return UserManager.supportsMultipleUsers();
return (Boolean(UserManager.class.getDeclaredMethod("supportsMultipleUsers").invoke(null));
}
catch (Exception e) {}
return false;
}
答案 1 :(得分:2)
如果您已经足够检查设备上是否已创建多个用户帐户,则可以使用UserManager.getUserCount()
(确保SDK版本为> 16之后)。
我不知道是否可以区分理论上是否有多个用户可用,但到目前为止只有一个用户根本没有使用多用户支持。
编辑:此解决方案实际上无效,似乎需要系统级权限。有关详细信息,请参阅此处UserManager getUserCount() (Jelly Bean)
答案 2 :(得分:-2)
您可以使用以下代码检查Android版本:
int oSversion = Integer.valueOf(android.os.Build.VERSION.SDK_INT);
if (osVersion > 16) {
// This phone supports multi-user
}