android 学习笔记 发送有序的广播

发送有序广播只需要改动一行代码,即将 sendBroadcast()方法改成 sendOrderedBroadcast()方法。sendOrderedBroadcast()方法接收两个参数,第一个参数仍然是 

Intent,第二个参数是一个与权限相关的字符串,这里传入null就行了。

那么该如何设定广播接收器的先后顺序呢?当然是在注册的时候进行设定的了,修改AndroidManifest.xml中的代码,如下所示:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
               package="com.example.broadcasttest" 

               android:versionCode="1" 
               android:versionName="1.0" > 

              …… 
               <application 

                   android:allowBackup="true" 
                   android:icon="@drawable/ic_launcher" 
              android:label="@string/app_name" 
              android:theme="@style/AppTheme" > 
            …… 

            <receiver android:name=".MyBroadcastReceiver"> 
               <intent-filter android:priority="100" > 
                   <action android:name="com.example.broadcasttest.MY_BROADCAST"/> 
               </intent-filter> 


            </receiver> 
        </application> 

</manifest> 
   可以看到,通过android:priority属性给广播接收器设置了优先级,优先级比较高的 广播接收器就可以先收到广播。这里将MyBroadcastReceiver的优先级设成了100,以保证它一定会在AnotherBroadcastReceiver之前收到广播。 

 如果在onReceive()方法中调用了abortBroadcast()方法,就表示将这条广播截断,后面的 广播接收器将无法再接收到这条广播。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值