BroadcastReceiver要点

BroadcastReceiver

作用:接收传来的特定类型的intent,然后执行相应操作

使用方法:

1.新建一个类MyBroadcastReceiver,extends BroadcastReceiver

2.override 其中的onReceiver(...)方法,一旦激活一个 MyBroadcastReceiver 对象,该对象马上调用该方法,该方法结束时,该MyBroadcastReceiver对象被清理。

3.(1)在AndroidManifest.xml中注册,在application中添加一个<Receiver android:name="MyBroadcastReceiver"></Receiver>标签

  该标签内含有<intent-filter>,此标签用于过滤得到该MyBroadcastReceiver想要处理的intent对象

  过滤可以基于intent的action/data/catagory三个标准,即在<intent-filter>插入<action>或者<data>或者<catagory>,和这三个表情的android:name相同的intent会得到MyBroadcastReceiver的处理

  (2)在代码中注册,代码如下

  MyBroadcastReceiver receiver = new MyBroadcastReceiver();

  IntentFilter filter = new IntentFilter();

  filter.addAction(Intent.ACTION_EDIT);

  MainActivity.this.registerReceiver(receiver, filter);

  PS:intent被发送后,会被插入到某个不可知的队列当中,一个BroadcastReceiver被程序注册激活以后,会从队列中并行取出满足条件的intent,多线程并发执行。

  在代码中解除注册用的是:MainActivity.this.unregisterReceiver(receiver);

4.在某activity中,首先new intent(),初始化intent,然后使用

  Activity.this.sendBroadcast(intent);

  将该intent广播出去,如果和哪个BroadcastReceiver的intent-filter匹配了,就可以激活该BroadcastReceiver。

5.使用难点:intent的action和data和catagory的理解?

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值