1.在清单文件中注册广播
<receiver android:name="com.guo.zidingyi.FaSongBroadCast" >
<intent-filter >
<action android:name="guojiawei"/>
</intent-filter>
</receiver>
<receiver android:name="com.guo.zidingyi.FinalReceiver" >
<intent-filter android:priority="-100">
<action android:name="guojiawei"/>
</intent-filter>
</receiver>
public class MainActivity extends Activity {
private Button fasongbutton;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fasongbutton = (Button) findViewById(R.id.fasongbutton1);
fasongbutton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent("guojiawei");
intent.putExtra("name", "蓝瘦 香菇");
//发送一个无序广播
//sendBroadcast(intent);
//发送一个有序广播
//sendOrderedBroadcast(intent, null);
/**
* 参数一:intent
* 参数二:最终接收者
* 参数三:用来做一些交互和处理
* 参数四:消息的标识
* 参数五:消息的内容()getResultData()方法
* 参数六:bundle类型的数据,如果不需要传值则设置为空
*
* */
//sendOrderedBroadcast(intent, null, null, 1000, "欢迎来到兄弟连:110", null);
sendOrderedBroadcast(intent, //意图
null, //广播接收者的权限
new FinalReceiver(), //最终接收者
null, //用来做一些交互和处理
1000,//消息的标识
"欢迎来到兄弟连:110", //消息的内容(getResultData()方法获取)
null
);
}
});
}
}
public class FaSongBroadCast extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Log.i("myTag", "发送了--->自定义广播");
}
}
public class FinalReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String data = getResultData();
Log.i("myTag", "最终接收者接收到的广播--->" + data);
setResultData("没法设置了");
}
}