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

  • 相关阅读:
    vue.js代码开发最常见的功能集合
    干货|程序员常去的14个顶级开发社区
    17个Web前端开发工程师必看的国外网站
    识别“百度权重”作弊的方法
    问题与对策:CSS的margin塌陷(collapse)
    程序猿,你们这么拼是找不到妹纸的!
    Jquery UI的datepicker插件使用方法
    初识Ajax---简单的Ajax应用实例
    Ajax解决缓存的5种方法
    Jquery+bootstrap实现静态博客主题
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7064650.html
Copyright © 2011-2022 走看看