博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ordered Broadcast有序广播
阅读量:7010 次
发布时间:2019-06-28

本文共 2414 字,大约阅读时间需要 8 分钟。

sendBroadcast()发生无序广播

sendOrderedBroadcast()发送有序广播

activity_main.xml

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

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

你可能感兴趣的文章