为什么即使Android 5.0中的设备所有者,sendBroadcastAsUser(intent,userHandle)也无法正常工作?

时间:2015-02-10 15:58:04

标签: 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

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

1 个答案:

答案 0 :(得分:1)

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

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

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