BroadCastReceiver有两种注册方式,静态注册、动态注册。
动态注册:
IntentFilter filter = new IntentFilter();
filter.addAction("com.lau.action1");
filter.addAction("com.lau.action2");
registerReceiver(broadcastReceiver, filter);
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
logPrint.Debug("===============receive broadcast ======" + intent.getAction());
myHandler.sendEmptyMessage(CMD_CANCEL_COUNT_DOWN);
}
};
反注册为:
unregisterReceiver(broadcastReceiver);
静态注册:
1、在.xml里面注册,这一段代码要放在<application>里面
<receiver android:name="MyBroadcastReceiver">
<intent-filter>
<action android:name="com.lau.action1" />
</intent-filter>
</receiver>
2、必须有一个类继承了BroadcastReceiver来接收
public class MyBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
//do somethings
}
}