Broadcast Receiver

本质:是一个系统全局的监听者,监听广播消息。
作用:实现了系统中不同组件之间的相互通信。
Broadcast的概念: 广播

 *、 当系统发生事件的时候,就会发送出广播,广播本身并不知道有多少人关注自己、
 *、 一个应用也可也发送出广播。
 *、通过广播中的关键字段,系统将心还在哦啊所有关注这个广播的应用,并触发他们注册的Receiver

Broadcast Receiver 用来监听广播
向系统注册自己关系的广播,当广播发出后,系统会带起进程并 调用指定的方法执行代码
*、你可以在这个过程中启动Service,Activity

实现Broadcast Receiver :
*、继承Broadcast Receiver并重写onReceive方法,
onReceive(Context context ,Intent intent)
Context 你可以通过Context参数来完成工作, startActivity或是使用toast
intent ,广播中包含的数据都在intent参数中,

public class Receiver1 extends BroadcastReceiver {

    @Override
    public void onReceive(Context arg0, Intent arg1) {
           // TODO Auto-generated method stub
          Toast. makeText(arg0, "tian", 1000).show();

   }

}
*、向系统注册广播

     通过xml静态注册  :与activity很类似

 <receiver android:name= "Receiver1">
        <intent-filter>
            <action android:name="com.tian.receiver" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </receiver>

  通过代码动态注册
              registerReceiver 注册广播监听
              IntentFilter参数中设置关注的action
              unregisterReceiver取消对广播的监听

                //注册广播
BroadcastReceiver receiver = new Receiver1();//创建一个监听对象
IntentFilter filter = new IntentFilter("Receiver1");//创建receiver的action
registerReceiver(receiver, filter);

有序广播::::
*、广播注册时action有多个相同的 ,可以实现添加序列排序,使相同的广播有序执行。

常见的系统广播介绍:

猜你喜欢

转载自blog.csdn.net/tst116/article/details/70237640
今日推荐