2020-07-27ERROR: Sending non-protected broadcast

在调试程序发送广播的时候发生如下bug。导致发送的广播失败。


1595821960(1).png

先来看下log:

2020-07-27 11:54:44.270 425-1569/? E/ActivityManager: Sending non-protected broadcast com.makeblock.discovery.mainservice.robot.set from system 2101:cn.com.mdj.robot/1000 pkg cn.com.mdj.robot
    java.lang.Throwable
        at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:19134)
        at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:19646)
        at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:19881)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:240)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2922)
        at android.os.Binder.execTransact(Binder.java:697)
2020-07-27 11:54:44.279 425-1569/? E/ActivityManager: Sending non-protected broadcast com.makeblock.discovery.mainservice.robot.set from system 2101:cn.com.mdj.robot/1000 pkg cn.com.mdj.robot
    java.lang.Throwable
        at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:19134)
        at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:19739)
        at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:19881)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:240)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2922)
        at android.os.Binder.execTransact(Binder.java:697)

这是我在一次开发中出现的,系统中需要发送一个应用自定义的广播,send 之后会报出Sending non-protected broadcast 的异常。

借此机会来解析protected broadcast 的使用,我们在 Android 中broadcast 发送过程解析 中了解了broadcast 发送的整个过程,通过Context 的接口最终会调用到AMS 中broadcastIntent()。

原因:
系统对自定义广播做了保护限制,对广播做了保护限定之后,只有一定权限的用户才可以使用。否则用一次就会打印一次warning,并且保存异常信息到文件中。

解决办法:

<protected-broadcast
        android:name="com.makeblock.discovery.mainservice.robot.set" />
1595836676(1).png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容