您的位置:首页 > 移动开发 > Android开发

android广播接收者BroadcastReceiver

2016-12-21 20:30 381 查看
android广播:

每一个应用程序都可以对自己感兴趣的广播进行注册,这样就只能收到自己关心的广播,这些广播可能来自于系统,也可能来自其他应用程序(来短信回产生广播,wifi变化会产生广播...)

要接收广播就必须引入一个对象:广播接受者,它是专门负责接收android广播的。定义一个广播接收者,需要一个类继承自BroadcastReceiver类
public class myBroadcastReceiver  extends  BroadcastReceiver { @override  public void onReceive()}

在onReceive()中不能执行异步操作,不能执行耗时操作,同时它是被主线程执行的

广播接收者必须注册后才能正常使用(四大组件都要注册)
可以在AndroidManifest中注册,BroadcastReceiver和Activity都属于四大组件,因此Receiver标签和Activity是同一级别



动态注册:



静态和动态注册的区别:

静态:只要安装了APP广播接收者BroadcastReceiver就处于工作状态。

动态:需要APP运行起来广播接收者BroadcastReceiver才处于工作状态。

发送广播:

广播使用Intent来传递信息,因此自定义广播也需要将action增加到intent

Intent _intent=new Intent();

_intent.setAction(MY_ACTION)

Context类提供一个方法可以发送广播

sendBroadcast(_intent)

有序广播:

abortBroadcast() //表示丢弃广播,则后面的有序广播接收器接收不到此广播了。

priority//属性,Intent-filter的属性,表示优先级,值越大表示优先级越高。



无序广播:



本地广播:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: