项目中使用了信鸽推送,然后自定义了receiver,然后发送广播到Baseactivity里进行数据处理,这时出现了一个问题:BaseActivity 中的onReceive 被多次调用,经过断点发现,只发送了一次广播,onReceive执行了两次。

原因:1.我是在Baseactivity中的onreate() 注册了广播接收器,这样一来,子类activity创建的时候会重复注册,导致有多个BroadcastReceiver

解决办法:

 @Overrideprotected void onResume() {super.onResume();if(beaconBroadcastReceiver == null){beaconBroadcastReceiver = new BeaconBroadcastReceiver();}if(intent == null ){intent = registerReceiver(beaconBroadcastReceiver, getBeaconIntentFilter());}}@Overrideprotected void onStop() {super.onStop();if(beaconBroadcastReceiver != null ){unregisterReceiver(beaconBroadcastReceiver);}}

注意:解决办法可能不是很完美,如果有好的建议,请直说

BaseActivity 中使用广播接收器时,onReceive 会多次执行相关推荐

  1. onCreate 中使用广播接收器时,onReceive 会多次执行

    根本原因:new 了多个 BroadcastReceiver. 1,原因一:没有在onDestory中调用解注册. unregisterReceiver() 2,原因二:onReceive 写在了 b ...

  2. android时间接收器,android – 在飞机模式关闭/打开后,广播接收器在onReceive()中接收的时间太长...

    我创建了一个简单的广播接收器,它工作得很好,除非我打开/关闭空中飞机模式,使用onReceive方法接收广播消息需要将近2分钟.另一件事是,如果我们启动应用程序然后如果我更改Air plane模式(开 ...

  3. 安卓下载功能中的广播接收器

    公司项目中要使用webview下载程序,所以必须用到广播接收器,配合service下载. 忘记的东西重来一遍. 后面有最经典的音乐播放器的源代码.Service  BroadCastReeiver都用 ...

  4. android 定时响铃,Android 中利用广播接收器(BroadCastReceiver)来接收定时响铃的闹铃信息...

    刚开始做东西得时候很不了解android中一些组件的应用方法,找了一个闹钟的小例子来更好的理解广播的接收. 应用程序的界面是这样的,这个例子是用闹钟的制定与解除来穿插broadcast  Receiv ...

  5. 使用广播接收器时,onReceive 会多次执行

    原因一:没有在onDestory中调用解注册. unregisterReceiver() 原因二:BroadcastReceiver变量所在的Activity或者Fragment被创建的多次,形成多个 ...

  6. 安卓应用安全指南 4.2.2 创建/使用广播接收器 规则书

    4.2.2 创建/使用广播接收器 规则书 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC- ...

  7. Android组件系列----BroadcastReceiver广播接收器

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  8. android 监听多个广播,同一个广播接收器监听多个广播及多个广播接收器监听同一个广播...

    1.  同一个广播接收器可以同时监听多个广播,同一个广播发出后也可被多个广播接收器监听,就像一个电台可以被 多个收音机收到一样 2.  当使用同一个广播接收器接收多个广播时可以在AndroidMani ...

  9. 安卓应用安全指南 4.2.3 创建/使用广播接收器 高级话题

    4.2.3 创建/使用广播接收器 高级话题 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC ...

最新文章

  1. 学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程
  2. 去除文本框点击的背影
  3. 第十六届全国大学生智能车竞赛全部比赛胜利结束了
  4. OpenShift helm的安装
  5. 致家长:疫情期间教育好自己的孩子,就是你最重要的事业!
  6. 使用TensorFlow.js的AI聊天机器人六:生成莎士比亚独白
  7. (2006, ‘MySQL server has gone away‘) 原因和解决方案
  8. [NPOI2.0] 使用NPOI读取和导出Excel文件
  9. 图像放缩中最近邻插值和双线性插值的基本原理
  10. java移位操作示例
  11. 中安网培***入门教程
  12. 深度可分离卷积解析 - MobileNetV1
  13. python求职意向怎么写_软件测试求职意向怎么写(附样本)最新精美简历模板
  14. Centernet 生成高斯热图
  15. iOS音效和音乐播放
  16. 毕业前三年如何拿到好绩效
  17. 百度编辑器抓取微信图片并替换内容
  18. CQF量化金融职业指南
  19. 百度apollo planning代码学习-Apollo\modules\planning\math\piecewise_jerk\PiecewiseJerkPathProblem类代码详解
  20. drools dmn_Drools 7支持DMN(决策模型和表示法)

热门文章

  1. 数据结构--二叉树--详解
  2. 常用的统计分析方法总结(聚类分析、主成分分析、因子分析)
  3. 数学解析Logistic回归算法
  4. java连连看游戏设计与实现
  5. 《大学语文》练习题库及答案
  6. 软件测试需要学习什么 一文告诉你,软测内容需要学这些
  7. NGINX 开源社区捉虫征集令
  8. Harbor安装配置
  9. 行列式(determinant)求值
  10. CH582-BLE-Peripheral-控制LED开关