如何知道Android设备是否支持多用户?

时间:2013-01-14 14:56:49

标签: android android-multiple-users

Android 4.2支持“可共享设备(如平板电脑)”(http://developer.android.com/about/versions/android-4.2.html#MultipleUsers)上的多个用户空间。我如何知道特定设备是否是“可共享设备”?

我可以通过编程方式检查设备是否支持多个用户吗?

3 个答案:

答案 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   
}