[msm8953][Android9.0] Sending non-protected broadcast ....
现象
2019-11-28 01:13:31.691 1541-7267/system_process E/ActivityManager: Sending non-protected broadcast com.qualcomm.qti.logkit.controller.intent.action.Controller from system 6223:com.qualcomm.qti.logkit.lite/1000 pkg com.qualcomm.qti.logkit.lite
java.lang.Throwable
at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:21369)
at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:21973)
at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:22115)
at android.app.IActivityManager$Stub.onTransact$broadcastIntent$(IActivityManager.java:10175)
at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:167)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3320)
at android.os.Binder.execTransact(Binder.java:731)
解决办法
\frameworks\base\services\core\java\com\android\server\am\ActivityManagerService.java
private void checkBroadcastFromSystem(
.....
// we've relaxed, so it's fine for system internals to send.
return;
}
// wskyo add
if( action!= null && (action.contains("com.rscja.") || action.contains("com.chengwei.") || action.contains("com.qualcomm.qti.") ) ){
return;
}
.
..
如果是自定义action的方式。。图片偷来的。。
android O系统后,隐式广播收到的限制,一定要指定包名才能发送出来。
否则会报错:
Background execution not allowed: receiving Intent { act=android.bluetooth.anw.action.PAIR_REQUEST flg=0x10 (has extras) } to com.anwsdk.sample/.BTMsgReceiver
但是在实际开发测试时,有些旧的app应用还是发送的隐式广播,导致接收不到,临时修改系统源码解决:
源码:\frameworks\base\services\core\java\com\android\server\am\BroadcastQueue.java
processNextBroadcastLocked()对广播进行了判断和处理:
if (!skip) {final int allowed = mService.getAppStartModeLocked(info.activityInfo.applicationInfo.uid, info.activityInfo.packageName,info.activityInfo.applicationInfo.targetSdkVersion, -1, true, false, false);if (allowed != ActivityManager.APP_START_MODE_NORMAL) {// We won't allow this receiver to be launched if the app has been// completely disabled from launches, or it was not explicitly sent// to it and the app is in a state that should not receive it// (depending on how getAppStartModeLocked has determined that).if (allowed == ActivityManager.APP_START_MODE_DISABLED) {Slog.w(TAG, "Background execution disabled: receiving "+ r.intent + " to "+ component.flattenToShortString());skip = true;} else if (((r.intent.getFlags()&Intent.FLAG_RECEIVER_EXCLUDE_BACKGROUND) != 0)|| (r.intent.getComponent() == null&& r.intent.getPackage() == null&& ((r.intent.getFlags()& Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND) == 0)&& !isSignaturePerm(r.requiredPermissions))) {mService.addBackgroundCheckViolationLocked(r.intent.getAction(),component.getPackageName());Slog.w(TAG, "Background execution not allowed: receiving "+ r.intent + " to "+ component.flattenToShortString());//取消skip=true,让广播依旧可以发送出去//skip = true;}}}
[msm8953][Android9.0] Sending non-protected broadcast ....相关推荐
- Android9.0 Wifi模块Framework层分析
Android9.0 Wifi Module 一.WifiService的启动 Wifi Service是在SystemServer的startOtherServices中启动的.在其构造函数中主 ...
- android serialport new 软件退出_基于Android9.0,了解Android启动流程
先记住四个进程和三种方式. **四个进程** 1.Launcher进程 2.system_server进程 3.App进程 4.Zygote进程 **三种方式** 1.Binder方式 2.Socke ...
- Android9.0源代码中替换默认静态壁纸
Android9.0源代码中替换默认静态壁纸 一.操作说明 1.文件位置 2.设备要求 二.具体步骤 1.替换图片 2.编译原码 3.实机器验证 一.操作说明 1.文件位置 android设备多种多样 ...
- (转)Android高级进阶--插曲-从Android5.0到Android9.0各版本变化
原文:https://blog.csdn.net/gaoxiaoweiandy/article/details/83216001 从Android5.0到Android9.0 自从公司提出了一些出其不 ...
- android-9.0主要有哪些新功能(Pie)
Android 9 功能和 API: Android 9.0 利用人工智能技术,让手机变得更智能.更快,并且还可以随着用户的使用习惯进行调整. 利用 Wi-Fi RTT 进行室内定位 Android ...
- Android 双目 单usb,【android9.0】无法打开usb uvc camera
背景:android9.0系统的开发板,接入双目摄像头,仅能打开其中一路摄像头,另一路打不开 关键log: 从串口打印看,usb驱动有正确识别到usb hub以及两路usb camera设备 [ 45 ...
- 【android9.0】system/core下的usbhost模块无法输出log到logcat
2019独角兽企业重金招聘Python工程师标准>>> 现象:原生android9.0 sdk,system/core/libusbhost是usb模块用来和驱动通信的模块,在调试时 ...
- Android之通过用户名和密码连接指定wifi热点(兼容Android9.0和Android10.0和addNetwork(wifiNewConfiguration)返回-1问题)
1 需求 通过用户名和密码连接指定wifi热点,网上的代码乱七八糟,没几个可以用,我这边整理了下,测试了华为Android9.0和小米Android9.0和10.0和OPPO Android9.0 都 ...
- 华为android9.0升级,华为官方更新消息:这几款手机9月5日分批推送安卓9.0系统升级...
原标题:华为官方更新消息:这几款手机9月5日分批推送安卓9.0系统升级 随着手机技术的不断发展,不仅手机更新换代加快,就连手机系统也在快速更新,可能很多花粉刚刚升级了基于Android8.0的EMUI ...
最新文章
- 笔记 | 深入理解深度学习语义分割
- 创建linux目录,Linux目录的创建方法
- 我圣贤为何发起第三方插件商店和桌面应用商店?
- Spring 配置标签——util标签
- Hyperledger Fabric 区块数据结构(1)Block
- ITK:遮盖一张图像给定标签图
- ​你可能不太会用的10个Git命令
- maven 工程依赖了某个jar包 但还是报java.lang.ClassNotFoundException的问题
- MyBatis 插件原理与自定义插件-用代理模式我们就要解决几个问题
- 从服务器上的数据库备份到本地
- CSDN学院全面改版啦!这次真的“搞大”了!
- c 登录窗口 oracle,C语言实现图形界面登陆窗口
- java全文检索word中的内容_搜索引擎时对WORD,EXCEL,PDF,POWERPOINT文件全文检索的总结...
- 多媒体——音频——使用录音机录制音频
- 【java获取日期的年月日】
- Mac Xnip 截图软件快捷键设置
- 外汇交易与实务--外汇交易市场
- 【SpringBoot】mybatis 自动生成swagger注解,及普通查询sql
- 在VMware Horizo​​n DaaS中的租户设备上重新初始化fdb和edb
- 数电实验二 常用中规模组合逻辑电路的设计及应用
热门文章
- LeetCode.868-二进制距离(Binary Gap)
- 区块链中的“双花”问题
- java数值滑动条_java中的滑杆和进度指示条的输入数据
- 在Nuxt项目中使用iconfont阿里巴巴图标unicode
- pmp复习资料链接-2021.06.20考试(中培)
- php网站整合ck播放器,wordpress整合ckplayer最新版 wp文章短代码调用ck播放器
- Stream和方法引用
- 使用百度AI将语音转换成文字(JAVA)
- android room 教程,Android Room的使用详解
- 如何将旧手机soul聊天记录导入到新手机中