Broadcast Receiver总结

广播的分类:标准广播和有序广播

  • 标准广播:一个发送,全村接收
  • 有序广播:一个发送,挨家传递(可被截断abortBroadcast())

注册方式:动态注册和静态注册

  • 动态注册(灵活,但需要程序启动才能收到广播):
    1.新建IntentFilter类,通过addAction添加action的值
    2.新建MyBroadcastRecriver类继承BroadcastReceiver,并重写onReceive()方法
    3.调用registerReceiver(MyBroadcastRecriver,IntentFilter)动态注册
    4.记得在OnDestroy中取消注册unregisterReceiver()

  • 静态注册(不灵活,但是可以不启动程序就收到广播)
    1.新建MyBroadcastRecriver类继承BroadcastReceiver,并重写onReceive()方法
    2.在manifest文件中application节点下注册

发送广播

发送标准广播
  1. 利用intent.addAction()加入发送的广播值(也可以携带数据哦)
  2. sendBroadcast(intent);
  3. 动态或静态注册
发送有序广播
  1. 利用intent.addAction()加入发送的广播值(也可以携带数据哦)
  2. sendOrderedBroadcast(intent);
  3. 动态或静态注册
发送本地广播

之前的广播属于系统全局广播,发出去后所有程序都能接收到,安全性有待提升,故而本地广播只能在本应用程序内广播,也只有本程序才能接收

  1. LocalBroadcastmanger.getInstance(this)获取LocalBroadcastmanger对象
  2. 利用intent.addAction()加入发送的广播值(也可以携带数据哦)
  3. localBroadcastmanger.sendBroadcast(intent);
  4. 动态或静态注册
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一杯刘

我 风暴降生 打钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值