3

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

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

4

3 回答 3

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;
}
于 2014-03-04T08:48:58.617 回答
2

如果您检查设备上是否创建了多个用户帐户就足够了,您可以使用UserManager.getUserCount()(在确保SDK版本> 16之后)。

我不知道是否可以区分理论上是否可以使用多个用户,但到目前为止只使用了一个,而根本没有多用户支持。

编辑:这个解决方案实际上不起作用,它似乎需要系统级权限。有关详细信息,请参见此处UserManager getUserCount()(果冻豆)

于 2013-01-14T16:43:40.227 回答
-2

您可以使用以下代码检查 Android 版本:

int oSversion = Integer.valueOf(android.os.Build.VERSION.SDK_INT);

if (osVersion > 16) {
   // This phone supports multi-user   
}
于 2013-01-14T15:01:15.537 回答