一:BroadcastReceiver :是用来接受广播的,
它有一个回调方法:void onReceive(Context curContext, Intent broadcastMsg) 我们来处理接受的广播。
广播的接收:接收可以新建一个类,继承至BroadcastReceiver,也可以建一个BroadcastReceiver的实例,然后得写onReceive方法,实现如下:
protected BroadcastReceiver mEvtReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
//通过注册中的action来判断,处理那个广播
if (action.equals("android.intent.action.BOOT_COMPLETED")) {
//Do something
}
}
};
二:BroadcastReceiver的使用(使用之前要先注册,有两种注册的方式)
方式1:手动注册,手动注销
注册:
IntentFilter filter = new IntentFilter();
filter.addAction("android.provider.Telephony.SMS_RECEIVD");
registerReceiver(mEvtReceiver,filter);
//mEvtReceiver是广播名,filter是广播的动作
注销:最后在程序的onDestroy中要注销广播,实现如下:
@Override
public void onDestroy() {
super.onDestroy();
unregisterReceiver(mPlayerEvtReceiver);
}
方式2:在Manifast.xml中注册
<receiver android:name=".mEvtReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
三:自己也可以发送广播
Intent intent = new Intent("android.intent.action.BOOT_COMPLETED");
sendBroadcast(i);
然后就是接收广播了,看第一行。