广播接收器主要分为:普通广播,有序广播,异步广播
一、普通广播:所有监听该广播的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);//取消异步广播
下一页:系统广播 上一页:广播生命周期