Android 发送有序广播
2017-06-01 09:27
375 查看
一、运行效果图
程序代码
MainActivitypublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void send(View view) { Intent intent = new Intent(); //定义广播事件类型 intent.setAction("Intercept_Stitch"); // 发送广播 sendOrderedBroadcast(intent,null); } }
MyReceiveOne
ublic class MyReceiverOne extends BroadcastReceiver { public MyReceiverOne() { } @Override public void onReceive(Context context, Intent intent) { Log.i("MyBroadcaseReceiverOne","自定义广播One"); } }
MyReceiveTwo
public class MyReceiverTwo extends BroadcastReceiver { public MyReceiverTwo() { } @Override public void onReceive(Context context, Intent intent) { Log.i("MyBroadcaseReceiverTwo","自定义广播Two"); abortBroadcast();//拦截有序广播 Log.i("MyBroadcaseReceiverTwo","有序广播Two,广播被我冻结"); } }
MyreceiveThree
public class MyReceiverThree extends BroadcastReceiver { public MyReceiverThree() { } @Override public void onReceive(Context context, Intent intent) { Log.i("MyBroadcaseReceiverThree","自定义广播Three"); } }
AndroidMainfest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.edu.bzu.broadrecedemo3"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".MyReceiverOne" android:enabled="true" android:exported="true"> <intent-filter android:priority="1000"> <action android:name="Intercept_Stitch"/> </intent-filter> </receiver> <receiver android:name=".MyReceiverTwo" android:enabled="true" android:exported="true"> <intent-filter android:priority="200"> <action android:name="Intercept_Stitch"/> </intent-filter> </receiver> <receiver android:name=".MyReceiverThree" android:enabled="true" android:exported="true"> <intent-filter android:priority="600"> <action android:name="Intercept_Stitch"/> </intent-filter> </receiver> </application> </manifest>
运行结果
LogCat 广播在优先级最低的MyReceiveTwo中被终结若优先级相同,根据注册顺序来确定接收广播的顺序
相关文章推荐
- android-BroadcastReceiver 发送有序广播
- android 学习笔记 发送有序的广播
- Android 广播接收者练习-发送有序广播
- Android 第二十课 广播机制(大喇叭)----发送自定义广播(包括发送标准广播和发送有序广播)
- android 发送有序广播sendOrderBraodCast、截断广播和广播之间的数据传递
- Android--广播接收者(发送有序广播)
- android-BroadcastReceiver 发送有序广播
- Android中发送有序广播案例
- Android的Service与BroadcastReceiver之四 BroadcastReceiver 简介、开发与配置;发送广播、有序广播;使用BroadcastReceiver接受系统广播
- Android-广播接收者:发送有序广播
- Android开发之发送有序广播+拦截广播
- Android BroadcastReceiver 发送有序广播
- android-BroadcastReceiver 发送有序广播
- android 发送有序广播sendOrderBraodCast、截断广播和广播之间的数据传递
- Android BroadcastReceiver实例Demo(有序广播的发送)
- Android-发送有序广播
- Android之B面试题②两种注册、发送广播的区别(修改和中断有序广播)
- Android中发送有序广播案例代码
- Android实现发送一条有序广播
- android 发送有序广播sendOrderBraodCast、截断广播和广播之间的数据传递