该组件分为2种
一种是无顺序异步的 只要一发广告 所有能接收到服务的应用都能同时收到。
发送:
sendBroadcast(intent);
接收
public class MyRecieve extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//TODO sth.
}
}
一种是有序的 通过设置priority的优先级来排序 -1000~1000 利用abortBroadcast()结束传播
发送:
sendOrderedBroadcast(intent, null);
多个广播接收者之间传值:
Bundle bundle=new Bundle();
bundle.putString("a", "fdsfs");
setResultExtras(bundle);
//取值
getResultExtras(false).getString("a")
配置:
<receiver android:name=".MySecBroad"> <!--android:priority优先级 --> <intent-filter android:priority="20"> <action android:name="com.mytest.action_MY_BROADCAST"/> </intent-filter> </receiver>
手动注册BroadCastReceiver:
MySecBroad receiver=new MySecbroad();
IntentFilter filter=new IntentFilter();
filter.addAction(TEST_ACTION);
registerReceiver(receiver,filter);
转载于:https://blog.51cto.com/linwb/1244454