注册BroadcastReceiver有两种方式:
1.静态注册:静态的在AndroidManifest.xml中用<receiver>标签生命注册,并在标签内用<intent- filter>标签设置过滤器。
2.动态注册:动态的在代码中先定义并设置好一个 IntentFilter 对象,然后在需要注册的地方调Context.registerReceiver()方法,如果取消时就调用 Context.unregisterReceiver()方法。
二者区别在于静态注册广播当应用程序关闭了,如果有广播信息来,广播接收器同样的能接受到;而动态注册广播,当应用程序关闭,广播也随之自动取消注册。
一、静态注册
首先新建一个类继承BroadcastReceiver,如:
MyBroadcastReceiver.java
package com.cyj.test;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class MyBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
//处理代码
}
}
然后在AndroidManifest.xml 配置receive标签
<receiver android:name="MyBroadcastReceiver">
<intent-filter>
<action
android:name="com.cyj.test.testbroadcast"/>
</intent-filter>
</receiver>
二、动态注册
发送方: