Android之BroadcastReceiver的使用
一、目标
1、了解什么是BroadcastReceiver
2、掌握BroadcastReceiver的使用
3、了解BroadcastReceiver的生命周期
二、什么是BroadcastReceiver
1、Broadcast(广播)是一种广泛运用在应用程序之间传播消息的机制
a、系统消息
a):Android系统发出的,电池不足、来电信息等
b、自定义消息
a):第三方应用发出的广播消息
2、什么是BroadcastReceiver
a、广播消息本质上就是一个Intent对象
b、Intent是一对一的通信,广播消息是一对多的通信
c、BroadcastReceiver用于接受并处理广播消息
d、BroadcastReceiver没有用户界面
I、借助其他方式和用户交互,例如:启动Activity、使用Notification等
三、广播消息的处理流程
1、广播消息的处理分为三个环节
a、消息发送
b、BroadcastReceiver注册
c、消息处理
四、处理系统广播消息
1、系统广播都被定义为android.content.Intent中的Action常量
2、利用BroadcastReceiver捕获系统广播
I、ACTION_BOOT_COMPLETED可以轻松实现开机后台程序自动运行
3、系统广播
4、在AndroidManifest.xml文件中增加应用权限声明
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
5、继承BroadcastReceiver并实现onReceiver方法
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent){...} }
五、深入消息处理
1、无序广播:sentBroadcast(),效率高,但是消息处理之间没有关联、
2、有序广播sendOrderBroadcast(),可以传递处理数据
3、持续广播:sendStickyBroadcast()发送的广播一直存在
六、BroadcastReceiver的生命周期
1、BroadcastReceiver的onReceiver()方法执行完后,其实例就会被销毁。
2、如果onReceiver()方法在10秒内没有执行完,Android会认为程序无响应。
a、–所以BroadcastReceiver不能做比较耗时的操作,否则会弹出“Application No Resource”的对话框
转载于:https://www.cnblogs.com/zhangmawang/p/8086852.html
Android之BroadcastReceiver的使用相关推荐
- android 增加一条广播,Android中BroadcastReceiver广播使用及注意点
Android中的广播用途很广,是四大组件之一.在android中可以看到它的各种应用,从系统发出的广播,用户自定义的广播等. 这里详细记录下广播的分类以及使用方法. 广播,是由两方面组成一个流程:广 ...
- Android中BroadcastReceiver组件详解
Android系统的4个组件终于还剩一种组件了BroadcastReceiver,这个组件是全局监听器,可以监听系统全局的广播消息,可以方便的实现系统中不同组件之间的通信 BroadcastRecei ...
- Android中BroadCastReceiver使用(整理)
BroadcastReceiver 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver是对发送出来的 Broadcast进行过滤接 ...
- Android之BroadcastReceiver 监听系统广播
绑定广播有两种方式 一.配置文件绑定,在程序未启动也能监听 二.代码方式绑定,在程序启动后才能监听 1.绑定和取消绑定广播 public class MainActivity extends Acti ...
- android之broadcastreceiver 耳机按键,Android 实时监听耳机按钮事件
写作背景:最近在做视频播放器,客户提出两项新需求: 插耳机看视频,拔出耳机,视频需要暂停.(Android 实时监听耳机拔出事件) 视频播放时,按耳机按钮,视频暂停播放:再按耳机按钮,视频暂停. 如何 ...
- Android之BroadcastReceiver
Android广播机制包含三个基本要素: 广播发送者(调用sendBroadcast方法) - 用于发送广播: 广播接收器(BroadcastReceiver) - 用于接收广播: 意图内容(Inte ...
- NullPointerException:method 'android.content.BroadcastReceiver.onReceive' on a null object reference
最近在使用广播的时候遇到了这个问题,项目里面使用了极光推送,然后项目里有几个地方都需要写广播接收者去接收,所以我只在一个地方写了,然后其他的地方就是copy过去的,然后就报了这个错误,总的来说,这个错 ...
- android receiver 通知,android – 来自BroadcastReceiver的呼叫通知
我有代码: public void AlarmStart() { Calendar cal = Calendar.getInstance(); cal.add(Calendar.MINUTE, 5); ...
- android广播intent原理,Android中BroadcastReceiver详解
BroadcastReceiver是什么? Android app可以发送广播也可以接收系统或者其它app发送的广播,是发送/订阅的设计模式.这些广播被发送当重要的事件发生的时候.例如,安卓系统发送广 ...
- Android的BroadcastReceiver 广播 短信拦截
如何去理解BroadcastReceiver(广播)?其实可以这样想,首先我们要有一个发送广播的"媒体",在这个例子中,我们暂且用activity组件作为这个媒体,当然以后会用到s ...
最新文章
- JasperReport报表设计4
- mysql 集群切换_完美起航-MySQLMHA高可用集群部署及故障切换(图文详解)
- java编程题有难度的_算法与编程面试题 不喜勿喷 难度指数:*****...
- Spark练习 - 提交作业到集群 - submit job via cluster
- 【栈】【字符】匹配(jzoj 1612)
- java中常见的几种内部类,你会几个?(未完)
- 原生ajax请求的五个步骤
- nn.Parameter的作用
- mysql ---- 多表查询
- 用数组循环实现矩阵乘法php,array用法 numpy_从创建数组到矩阵运算,一文带你看懂Numpy...
- java正则匹配性能,Java正则表达式的性能问题
- hibernate教程笔记1
- 【XLL 框架库函数】 TempMissing/TempMissing12
- Prescan:关于Prescan与Matlab联合仿真问题小总(不定时补充)
- wifi各协议最高速率
- 应用密码学:位移密码极简(凯撒密码)
- Android读取RAM,ROM,SD卡容量
- 图片怎么无损放大?不影响清晰度这么做
- 2750 心系南方灾区
- html怎么解压缩文件,压缩包7z如何解压