广播接收器主要是不同的应用程序和组件之间的通信机制
实现步骤:
广播周期的生命周期
1.广播的注册:
1 IntentFilter intentFilter=new IntentFilter();//创建一个IntentFilter对象
2 intentFilter.addAction("com.android.myAction");//为BroadcastReceiver指定action,用于接收同action的广播
4 mBroadcastReceiver=new myBroadcastReceiver();//创建一个广播接收器
6 registerReceiver(mBroadcastReceiver,intentFilter);//注册广播接收器
广播接收器还可以在AndroidManifest.xml文件中注册(该广播接收器就为系统级的,一直伴随着程序存在,无法取消)
1 ...
2 </activity>
3
4 <receiver android:name=".MyBroadcastReceiver">
5 <intent-filter android:priority="900">
6 <action android:name="com.android.myAction"/>
7 </intent-filter>
8 </receiver>
2.发送广播:
1 Intent intent=new Intent("com.android.myAction");//发送action为com.android.myAction的intent的对象
2 intent.putExtra("DATA","你好");//封装数据
3 sendBroadcast(intent);//发送广播
3.取消广播接收器
1 unregisterReceiver(mBroadcastReceiver);//取消广播接收器
4.接收广播
1 public class MyBroadcastReceiver extends BroadcastReceiver{//定义盖子类用于接收广播
@override
2 public void onReceive(Context context,Intent intent){//接收广播
3 if(intent.getAction().equals("com.android.myAction")){//判断intent对象的action是否为com.android.myAction
4 Toast.makeText(context,"接收到广播信息"+intent.getStringExtra("DATA"),Toast.LENGTH_SHORT).show();
5 }//将接收的对象用Toast显示出来
6 }
7 }