2021-11-18 adb发送广播应用收不到的问题,BroadcastQueue: Background execution not allowed: receiving Intent { act=

一、这里我用adb发送广播应用收不到的问题,提示:BroadcastQueue: Background execution not allowed: receiving Intent { act=,我这里是android11 MTK平台。

 二、出现这个问题的原因是 Android O版本以后google对隐式广播(Implicit Broadcast)的限制更加严格了,这就导致了apk在O版本之前的版本上好用,在之后的版本上达不到预期的效果。

三、那就修改成显式广播发送。

      1、AndroidManifest.xml里面可以看到包名和类,这里是静态注册。

      2、广播接收文件。

       3、加上-n的选项后面加上包名和类名显式发送,我这里是adb shell am broadcast -n  com.mediatek.batterywarning/.BatteryWarningReceiver -a "mediatek.intent.action.BATTERY_WARNING"

       4、发送广播。

        5、log上看系统app可以接收到这个广播了。

         6、可以看到系统收到广播后跳出相应的界面。

 

四、参考文章:

Background execution not allowed: receiving Intent 问题解决_little_monkey_92的博客-CSDN博客

https://www.freesion.com/article/99441015950/

解决Android 8.0及以上系统接收不到广播的问题 - 简书

Android 通过adb shell am broadcast发送广播(示例代码)_136.la

android隐式和显式广播,Android Intent详细介绍及使用说明(显式、隐式和值传递)..._欧阳kang的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值