参考:
http://blog.sina.com.cn/s/blog_80723de801014e2g.html
http://biandroid.iteye.com/blog/1608833
两种注册BroadcastReceiver的方法
1.在应用程序的代码中进行注册
注册BroadcastReceiver
registerReceiver(receiver,filter);
取消注册BroadcastReceiver
unregisterReceiver(receiver);
2.在AndroidManifest.xml当中进行注册
<receiver android:name="SMSReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
1、注册
public void registerBoradcastReceiver(){
IntentFilter myIntentFilter = new IntentFilter();
myIntentFilter.addAction(ACTION_NAME);//增加监听的Action
//注册广播
registerReceiver(mBroadcastReceiver, myIntentFilter);
}
2、接收
private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals(ACTION_NAME)){
Toast.makeText(Test.this, "处理action名字相对应的广播", 200);
}
}
};
3、触发
mBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent mIntent = new Intent(ACTION_NAME);
mIntent.putExtra("yaner", "发送广播,相当于在这里传送数据");
//发送广播
sendBroadcast(mIntent);
}
});