Android应用开发中BroadcastReceiver的用法

本文解析自Android API手册之BroadcastReceiver

1、broadcast 用 sendBroadcast() 发出。

2、broadcast 由 BroadcastReceiver 接收。

3、APP内部的broadcast: 用LocalBroadcastManager + BroadcastReceiver

4、BroadcastReceiver需要注册:动态注册方法是Context.registerReceiver(),静态注册方法是AndroidManifest.xml中的<receiver>

5、activity进入paused状态之后,不会收到broadcast,所以在onPause()/onResume()中register, unregister以节约系统资源

6、broadcast分两种:普通的、有序的

7、activity和broadcast中的intent是不一样的,不能混用

8、使用broadcast注意: Intent的action name是全局的,不要与其他name冲突;注册receiver之后,默认任何app都可以给他发broadcast;默认sendBroadcast(),任何程序都能接收

9、BroadcastReceiver对象只有在 BroadcastReceiver.onReceive() 期间才有效。该函数一旦返回,BroadcastReceiver就会失效,系统此刻可以杀死它所在的进程。这对onReceive()的设计有以下影响:不能异步操作、不要在onReceive()中显示对话框<<建议用 Notification>>、不要在onReceive()中绑定服务<<建议 startService()>>。

10、BroadcastReceiver是一个抽象类,只有一个抽象方法,onReceive()

经常一起用的API: BroadcastReceiver + Intent + intent filter + Service



用法小结

1、继承BroadcastReceiver,实现onReceive()

2、注册receiver

3、sendBroadcast()

4、注意一些权限、生命期之类的东西


原文:

http://developer.android.com/reference/android/content/BroadcastReceiver.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值