Android-有序广播简单例子

来源:互联网 发布:施工现场平面图 软件 编辑:程序博客网 时间:2024/05/17 04:48
放送广播的应用:

MainActivity.java

<span style="font-family:KaiTi_GB2312;font-size:18px;">package com.example.android18;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.View;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}// 点击发送广播public void button(View view) {Intent intent = new Intent();intent.setAction("com.example.cn.sendbroadcast");// 发送有序广播// resultReceiver:不需要在清单文件中配置,这个广播接收者只接受该条有序广播,并且是最后一个收到该广播,并且一定可以收到该广播// sendOrderedBroadcast(intent, null, new MyReceiver(), null, 0,// "每人发100斤大米", null);// sendOrderedBroadcast(intent, receiverPermission, resultReceiver,// scheduler, initialCode, initialData, initialExtras);sendOrderedBroadcast(intent, null, new MyReceiver(), null, 0,"每人发100斤大米", null);}}class MyReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubSystem.out.println("最终接收者接收广播:每人发100斤大米");}}</span>


接收广播应用:

配置代码:

<span style="font-family:KaiTi_GB2312;font-size:18px;"> <receiver android:name="com.local.ShengZF">            <intent-filter android:priority="1000">                <action android:name="com.fdm"/>            </intent-filter>        </receiver>        <receiver android:name="com.local.ShiZF">            <intent-filter android:priority="800">                <action android:name="com.fdm"/>            </intent-filter>        </receiver>        <receiver android:name="com.local.XianZF">            <intent-filter android:priority="600">                <action android:name="com.fdm"/>            </intent-filter>        </receiver></span>

ShengZF.java

<span style="font-family:KaiTi_GB2312;font-size:18px;">public class ShengZF extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubString text = getResultData();System.out.println("省政府收到文件:" + text);setResultData("每人发80斤大米");}}</span>


ShiZF.java

<span style="font-family:KaiTi_GB2312;font-size:18px;">public class ShiZF extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubString text = getResultData();System.out.println("市政府收到文件:" + text);abortBroadcast();}}</span>

XianZF.java

<span style="font-family:KaiTi_GB2312;font-size:18px;">public class XianZF extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubString text = getResultData();System.out.println("县政府收到文件:" + text);}}</span>

打印结果:


0 0
原创粉丝点击