Android广播如何解决Sending non-protected broadcast问题

我们在开发系统应用时,如果应用之间通过广播进行交互,logcat会打印如下信息,用于告知开发者,当前行为是危险的,对外发送没有保护的广播。Sending non-protected broadcast callerPkg from system 26672:callerPkg/1000 pkg callerPkg。如果我们没办法修改Framework的代码,确实没办法忽略这种头疼的打印,尤其在频繁的广播交互,出现问题时非常影响定位Bug。

如果有修改Framework的可能,可以在ActivityManagerService类中加入下面方法。

typescript 复制代码
//方法主要用于判断是否我们自己开发的系统应用,即我们要忽略上打印应内容的。
//callerPackage 发送广播的包名
//返回true表示是我们开发的系统应用,false则不是,走系统默认行为
public boolean isOurPkg(String callerPackage){
    if (callerPackage!=null&&callerPackage.startsWith("cn.njdbl")){
        return true;
    }
    return false;
}

并在ActivityManagerService类的checkBroadcastFromSystem方法中增加下面截图内容,就可以解决上面红色异常警告内容。 最后,欢迎访问我的Github,欢迎start、collect、comment、share。转载一定要备注本文出处哦。

相关推荐
氦客12 小时前
Android Compose : 传统View在Compose组件中的等价物
android·compose·jetpack·对比·传统view·等价物·compose组件
神话200912 小时前
Rust 初体验与快速上手指南
android·rust
CheungChunChiu13 小时前
Linux 内核动态打印机制详解
android·linux·服务器·前端·ubuntu
aidou131414 小时前
Android中设置Dialog和自定义布局相同高度
android·dialog·弹窗高度·getwindow
氦客14 小时前
UI编程的发展史 : 结合命令式UI和声明式UI
android·compose·声明式ui·ui编程·命令式ui·ui编程发展史·标记语言
aidou131417 小时前
Android中RecyclerView实现多级列表
android·recyclerview·多级列表·layoutmanager
青风行17 小时前
Android从入门到进阶
android
方白羽17 小时前
Android 开发中,准确判断应用处于“前台(Foreground)”还是“后台(Background)
android·app·客户端
Mart!nHu18 小时前
Android 10&15 Framework 允许设置系统时间早于编译时间
android
编程之路从0到119 小时前
ReactNative新架构之Android端TurboModule机制完全解析
android·react native·源码阅读