现象

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 ....相关推荐

  1. Android9.0 Wifi模块Framework层分析

    Android9.0 Wifi Module 一.WifiService的启动 ​ Wifi Service是在SystemServer的startOtherServices中启动的.在其构造函数中主 ...

  2. android serialport new 软件退出_基于Android9.0,了解Android启动流程

    先记住四个进程和三种方式. **四个进程** 1.Launcher进程 2.system_server进程 3.App进程 4.Zygote进程 **三种方式** 1.Binder方式 2.Socke ...

  3. Android9.0源代码中替换默认静态壁纸

    Android9.0源代码中替换默认静态壁纸 一.操作说明 1.文件位置 2.设备要求 二.具体步骤 1.替换图片 2.编译原码 3.实机器验证 一.操作说明 1.文件位置 android设备多种多样 ...

  4. (转)Android高级进阶--插曲-从Android5.0到Android9.0各版本变化

    原文:https://blog.csdn.net/gaoxiaoweiandy/article/details/83216001 从Android5.0到Android9.0 自从公司提出了一些出其不 ...

  5. android-9.0主要有哪些新功能(Pie)

    Android 9 功能和 API: Android 9.0 利用人工智能技术,让手机变得更智能.更快,并且还可以随着用户的使用习惯进行调整. 利用 Wi-Fi RTT 进行室内定位 Android ...

  6. Android 双目 单usb,【android9.0】无法打开usb uvc camera

    背景:android9.0系统的开发板,接入双目摄像头,仅能打开其中一路摄像头,另一路打不开 关键log: 从串口打印看,usb驱动有正确识别到usb hub以及两路usb camera设备 [ 45 ...

  7. 【android9.0】system/core下的usbhost模块无法输出log到logcat

    2019独角兽企业重金招聘Python工程师标准>>> 现象:原生android9.0 sdk,system/core/libusbhost是usb模块用来和驱动通信的模块,在调试时 ...

  8. Android之通过用户名和密码连接指定wifi热点(兼容Android9.0和Android10.0和addNetwork(wifiNewConfiguration)返回-1问题)

    1 需求 通过用户名和密码连接指定wifi热点,网上的代码乱七八糟,没几个可以用,我这边整理了下,测试了华为Android9.0和小米Android9.0和10.0和OPPO Android9.0 都 ...

  9. 华为android9.0升级,华为官方更新消息:这几款手机9月5日分批推送安卓9.0系统升级...

    原标题:华为官方更新消息:这几款手机9月5日分批推送安卓9.0系统升级 随着手机技术的不断发展,不仅手机更新换代加快,就连手机系统也在快速更新,可能很多花粉刚刚升级了基于Android8.0的EMUI ...

最新文章

  1. 笔记 | 深入理解深度学习语义分割
  2. 创建linux目录,Linux目录的创建方法
  3. 我圣贤为何发起第三方插件商店和桌面应用商店?
  4. Spring 配置标签——util标签
  5. Hyperledger Fabric 区块数据结构(1)Block
  6. ITK:遮盖一张图像给定标签图
  7. ​你可能不太会用的10个Git命令
  8. maven 工程依赖了某个jar包 但还是报java.lang.ClassNotFoundException的问题
  9. MyBatis 插件原理与自定义插件-用代理模式我们就要解决几个问题
  10. 从服务器上的数据库备份到本地
  11. CSDN学院全面改版啦!这次真的“搞大”了!
  12. c 登录窗口 oracle,C语言实现图形界面登陆窗口
  13. java全文检索word中的内容_搜索引擎时对WORD,EXCEL,PDF,POWERPOINT文件全文检索的总结...
  14. 多媒体——音频——使用录音机录制音频
  15. 【java获取日期的年月日】
  16. Mac Xnip 截图软件快捷键设置
  17. 外汇交易与实务--外汇交易市场
  18. 【SpringBoot】mybatis 自动生成swagger注解,及普通查询sql
  19. 在VMware Horizo​​n DaaS中的租户设备上重新初始化fdb和edb
  20. 数电实验二 常用中规模组合逻辑电路的设计及应用

热门文章

  1. LeetCode.868-二进制距离(Binary Gap)
  2. 区块链中的“双花”问题
  3. java数值滑动条_java中的滑杆和进度指示条的输入数据
  4. 在Nuxt项目中使用iconfont阿里巴巴图标unicode
  5. pmp复习资料链接-2021.06.20考试(中培)
  6. php网站整合ck播放器,wordpress整合ckplayer最新版 wp文章短代码调用ck播放器
  7. Stream和方法引用
  8. 使用百度AI将语音转换成文字(JAVA)
  9. android room 教程,Android Room的使用详解
  10. 如何将旧手机soul聊天记录导入到新手机中