赞
踩
默认的就是无序广播
有序广播是:sendOrderedBroadcast();
Receiver=new MyBroadcastReceiver(); IntentFilter intentFilter=new IntentFilter(); intentFilter.addAction(//添加允许收到的发送器标识名); intentFilter.setPriority(num);//优先级(-1000,1000) registerReceiver(/*接收器名*/,intentFilter);
Intent intent=new Intent(); intent.setAction(); intent.setPackage(getPackageName());//不知道这一段的意思 sendOrderedBroadcast(intent,null);
上游接收器接收到bundle后在处理数据后把数据传入bundle再传到下游接收器
传递: private BroadcastReceiver mReceive=new BroadcastReceiver() {//这个是上游 @Override public void onReceive(Context context, Intent intent) { //收到广播 if (intent!=null){ Bundle extra=intent.getExtras(); String data=""; if (extra!=null){ data=extra.getString("name"); } extra.putString(key,value); setResultExtras(extra); } } };
接收:
private BroadcastReceiver mReceive2=new BroadcastReceiver() {//这个是下游 @Override public void onReceive(Context context, Intent intent) { //收到广播 if (intent!=null){//判空 Bundle extra=intent.getExtras(); getResultExtras(ture);//接收到上游的extra abordBroadcast();//隔绝广播继续向下游传递 } } };
这个就简单很多,可以直接传输字符串
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。