Android UserManager:检查用户是否为所有者(admin)

x4r*_*f41 8 android android-4.2-jelly-bean

我正在为具有多用户功能的平板电脑开发具有最新Android版本(4.2.1 API-Level 17)的应用程序.

我想将某些功能(例如对应用偏好设置的访问权限)限制为平板电脑的所有者(即可以添加和删除其他用户帐户的用户)

有什么方法可以找出当前用户是否是所有者?

我通读了UserManager和UserHandle API文档但找不到允许我检查它的函数.

我错过了什么或者还有其他办法吗?

j.h*_*eck 12

相似但没有反思:

static boolean isAdminUser(Context context)
{
    UserHandle uh = Process.myUserHandle();
    UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
    if(null != um)
    {
        long userSerialNumber = um.getSerialNumberForUser(uh);
        Log.d(TAG, "userSerialNumber = " + userSerialNumber);
        return 0 == userSerialNumber;
    }
    else
        return false;
}
Run Code Online (Sandbox Code Playgroud)

  • @JosephJohnson 这个 `Process.myUserHandle();` 中的 `myUserHandle` 是什么? (2认同)