用安卓发送有序广播
2017-06-05 14:03
453 查看
实用安卓编写程序发送有序广播。
主布局activity_main.xml:<?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>MainActivity.java:
结果图:
可知广播在优先级最低的MyReceiveTwo中被终结
主布局activity_main.xml:<?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>MainActivity.java:
public 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.java:
public class MyReceiverOne extends BroadcastReceiver { public MyReceiverOne() { } @Override public void onReceive(Context context, Intent intent) { Log.i("MyBroadcaseReceiverOne","自定义广播One"); } }MyReceiveTwo.java:
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.java:
public class MyReceiverThree extends BroadcastReceiver { public MyReceiverThree() { } @Override public void onReceive(Context context, Intent intent) { Log.i("MyBroadcaseReceiverThree","自定义广播Three"); } }效果图如下:
结果图:
可知广播在优先级最低的MyReceiveTwo中被终结
相关文章推荐
- 广播接收者-发送有序广播
- 发送有序广播
- 发送有序广播
- Android实现发送一条有序广播
- Android 发送有序广播
- 发送有序广播案例
- 安卓中发送广播的方法
- Android 四大组件之BroadcastReceiver(发送有序无序广播)
- Android BroadcastReceiver实例Demo(有序广播的发送)
- 安卓设备作为广播的接收端和发送端
- android-BroadcastReceiver 发送有序广播
- 发送与接收广播(普通,有序)
- android 学习笔记 发送有序的广播
- 发送有序广播
- Android-发送有序广播
- 发送有序广播
- 通过sendOrderedBroadcast()方法发送一条有序广播
- Android 广播接收者练习-发送有序广播
- 安卓 有序广播笔记
- 安卓开发之发送自定义广播