zoukankan      html  css  js  c++  java
  • Ordered Broadcast有序广播

    sendBroadcast()发生无序广播

    sendOrderedBroadcast()发送有序广播

    activity_main.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <Button
            android:id="@+id/send"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="发生广播" />
    
    </LinearLayout>


    MainActivity

    package com.example.orderbroadcast;
    
    import android.app.Activity;
    import android.app.ActionBar;
    import android.app.Fragment;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    import android.os.Build;
    
    public class MainActivity extends Activity {
    
    	private Button send;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    
    		send=(Button)this.findViewById(R.id.send);
    		send.setOnClickListener(new View.OnClickListener() {
    			
    			@Override
    			public void onClick(View arg0) {
    				// TODO Auto-generated method stub
    				Intent intent=new Intent();
    				intent.setAction("dashu.orderedBroadcast");
    				intent.putExtra("msg", "发送广播");
    				sendOrderedBroadcast(intent, null);
    			}
    		});
    	}
    }
    


    MyReceiver1

    package com.example.orderbroadcast;
    
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.widget.Toast;
    
    public class MyReceiver1 extends BroadcastReceiver {
    
    	@Override
    	public void onReceive(Context context, Intent intent) {
    		// TODO Auto-generated method stub
    		Toast.makeText(context, "消息内容是"+intent.getStringExtra("msg"), Toast.LENGTH_LONG);
    		//创建Bundle对象,并存入数据
    		Bundle bundle=new Bundle();
    		bundle.putString("frist", "第一个BroadcastReceiver消息...");
    		//把bundle对象放到广播中传输
    		setResultExtras(bundle);
    		//取消Broadcast的继续传播
    		//abortBroadcast();
    	}
    
    }
    


    MyReceiver

    package com.example.orderbroadcast;
    
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.widget.Toast;
    
    public class MyReceiver extends BroadcastReceiver {
    
    	@Override
    	public void onReceive(Context context, Intent intent) {
    		// TODO Auto-generated method stub
    		Bundle bundle = getResultExtras(true);
    		String frist = bundle.getString("frist");
    		Toast.makeText(context, "第一个Broadcast存入的消息为:" + frist,
    				Toast.LENGTH_LONG).show();
    	}
    
    }
    


     

    Mainfest.xml

     <receiver android:name="com.example.orderbroadcast.MyReceiver" >
                <intent-filter android:priority="10" >
                    <action android:name="dashu.orderedBroadcast" />
                </intent-filter>
            </receiver>
            <receiver android:name="com.example.orderbroadcast.MyReceiver1" >
                <intent-filter android:priority="20" >
                    <action android:name="dashu.orderedBroadcast" />
                </intent-filter>
            </receiver>
        </application>

    android:priority设置接收广播优先级,取值范围-1000 到1000

  • 相关阅读:
    数据结构——二叉搜索树、B树、B-树
    计算机组成原理——指令流水线
    计算机组成原理——微指令的控制字段
    计算机组成原理——关于数据对齐存储
    program
    数据库——视图(View)相关
    软件测试——性能测试、压力测试、负载测试等详解
    软件测试——Stub和Mock
    虚拟机的性能监控与故障处理工具
    Linux中安装tomcat后,window中访问不到tomcat的欢迎界面问题
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7064650.html
Copyright © 2011-2022 走看看