Android 4.2 支持“在平板电脑等可共享设备上”的多个用户空间 ( http://developer.android.com/about/versions/android-4.2.html#MultipleUsers )。我如何知道特定设备是否为“可共享设备”?
我可以以编程方式检查设备是否支持多个用户吗?
Android 4.2 支持“在平板电脑等可共享设备上”的多个用户空间 ( http://developer.android.com/about/versions/android-4.2.html#MultipleUsers )。我如何知道特定设备是否为“可共享设备”?
我可以以编程方式检查设备是否支持多个用户吗?
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;
}
如果您检查设备上是否创建了多个用户帐户就足够了,您可以使用UserManager.getUserCount()
(在确保SDK版本> 16之后)。
我不知道是否可以区分理论上是否可以使用多个用户,但到目前为止只使用了一个,而根本没有多用户支持。
编辑:这个解决方案实际上不起作用,它似乎需要系统级权限。有关详细信息,请参见此处UserManager getUserCount()(果冻豆)
您可以使用以下代码检查 Android 版本:
int oSversion = Integer.valueOf(android.os.Build.VERSION.SDK_INT);
if (osVersion > 16) {
// This phone supports multi-user
}