我是Android新手,我必须在工作中执行以下任务:
我们的平板电脑已植根并使用Android 5.1.1 Lollipop运行CyanogenMod 12.1。 由于这不是将从Play商店下载的商业版本,我可以假设我可能需要的所有权限都将被授予。
我搜索了一个干净的代码方式来做到这一点,而不运行shell命令或其他黑客,但无法找到任何东西......
答案 0 :(得分:1)
Haven自己尝试过,但您应该能够在设备上设置所有UserHandle,然后使用DevicePolicyManager switchUser() method。
UserManager um = (UserManager) getSystemService(USER_SERVICE);
List<UserHandle> userProfiles = um.getUserProfiles();
为了实现这一目标,您必须set your app as a device administrator(不应该是一个问题,因为您说它是一个内部完全托管的应用程序)
答案 1 :(得分:0)
成为设备所有者后,您是否设法获得用户名? 可以使用getUserProfiles和getSecondaryUsers,但是它们都返回UserHandle。我无法在创建时注册用户名。 似乎唯一的方法是向清单添加MANAGE_USERS权限,但假定该应用程序是系统应用程序: https://developer.android.com/reference/android/os/UserManager#getUserName()
我想我会在某个地方创建一个持久列表。