android - 为什么 sendBroadcastAsUser(intent,userHandle) 即使与 Android 5.0 中的设备所有者一起工作也不起作用?

标签 android android-5.0-lollipop device-admin device-owner

我已将我的应用程序作为设备所有者并创建了另一个用户。现在我想使用 broadcastAsUser 从主要用户向另一个用户广播。

我为此添加了以下权限

<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>

UserManager userManager=(UserManager)getSystemService(Context.USER_SERVICE);
UserHandle userHandle=userManager.getUserForSerialNumber(serialNumber);
Intent intent=new Intent(action);
sendBroadcastAsUser(intent,userHandle);

权限拒绝:来自 com.sample.deviceadmintest 的广播要求以用户 10 身份运行,但正在从用户 0 调用;这需要 android.permission.INTERACT_ACROSS_USERS_FULL 或 android.permission.INTERACT_ACROSS_USERS

我错过了什么吗? 提前致谢!

最佳答案

我找到原因了。虽然应用程序是设备所有者,但它没有权限

 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>

设备所有者仍然没有系统应用程序拥有的所有权限。设备所有者应用程序不是系统应用程序。

关于android - 为什么 sendBroadcastAsUser(intent,userHandle) 即使与 Android 5.0 中的设备所有者一起工作也不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28436091/

相关文章:

android - 通过 Retrofit 从内存上传位图

android - 在 firebase 数据库中搜索 android?

android - android 4.4 kitkat 上的房间持久性库崩溃问题

android - 抽屉导航图标未垂直居中(横向模式,Android)

android - 锁屏不禁用指纹

android - 设备策略管理员无法检索设备策略

android - 如何使用 Retrofit 发送 "fire and forget"异步调用?

android - RecyclerView 列表结束监听器

android - 使用 AppCompat ActionBarActivity 更改状态栏颜色

android - 如何防止用户关闭GPS、Wifi和蓝牙?