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。转载一定要备注本文出处哦。

相关推荐
Aileen_0v040 分钟前
【玩转OCR | 腾讯云智能结构化OCR在图像增强与发票识别中的应用实践】
android·java·人工智能·云计算·ocr·腾讯云·玩转腾讯云ocr
江上清风山间明月4 小时前
Flutter DragTarget拖拽控件详解
android·flutter·ios·拖拽·dragtarget
debug_cat6 小时前
AndroidStudio Ladybug中编译完成apk之后定制名字kts复制到指定目录
android·android studio
编程洪同学10 小时前
Spring Boot 中实现自定义注解记录接口日志功能
android·java·spring boot·后端
氤氲息13 小时前
Android 底部tab,使用recycleview实现
android
Clockwiseee13 小时前
PHP之伪协议
android·开发语言·php
小林爱13 小时前
【Compose multiplatform教程08】【组件】Text组件
android·java·前端·ui·前端框架·kotlin·android studio
小何开发14 小时前
Android Studio 安装教程
android·ide·android studio
开发者阿伟15 小时前
Android Jetpack LiveData源码解析
android·android jetpack
weixin_4381509915 小时前
广州大彩串口屏安卓/linux触摸屏四路CVBS输入实现同时显示!
android·单片机