BroadcastReceiver(广播接收器)

广播接收器主要是不同的应用程序和组件之间的通信机制

实现步骤:

广播周期的生命周期

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 }

 下一页

原文地址:https://www.cnblogs.com/DASOU/p/3141572.html