广播接收器的类别

广播接收器主要分为:普通广播,有序广播,异步广播

一、普通广播:所有监听该广播的BroadcastReceiver都能接收到该广播,无法控制广播的顺序,也无法打断广播的传播

  sendBroadcast(Intent intent);//发送普通广播

二、有序广播:按照级别值来确定先后顺序,同级别随机,级别值在-1000~1000

     如何发送有序广播:

     1,先在配置文件中对优先级别进行设置

...
2 </activity>
3 
4   <receiver android:name=".MyBroadcastReceiver">
5       <intent-filter android:priority="900">//900为该广播的优先值
6            <action android:name="com.android.myAction"/>
7       </intent-filter>
8   </receiver>

    2、接收广播操作

 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();
  this.abortBroadcast();//禁止广播的传输
5        }//将接收的对象用Toast显示出来
6   }
7 }

clearAbortBroadcast()方法恢复传输

 3、发送有序广播

sendOrderedBroadcast(Intent intent);

三、异步广播:其发送的最后一个intent会被保留,当广播接收器再次活跃时,又会重新接收

  sendStickyBroadcast(Intent intent);//发送异步广播

 removeStickyBroadcast(Intent intent);//取消异步广播

 

下一页:系统广播                         上一页:广播生命周期

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