一、多个广播接收器
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context,"接受到我的广播",Toast.LENGTH_SHORT).show(); abortBroadcast();//截断消息广播 } } public class MyReceiver2 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context,"接受自定义2",Toast.LENGTH_SHORT).show(); } }
二、注册广播接收器,并指定接收顺序。android:priority越高表示优先通知
<receiver android:name=".MyReceiver" android:enabled="true" android:exported="true"> <intent-filter android:priority="100"> <action android:name="group.chicai.study.MYBOASTCASE" /> </intent-filter> </receiver> <receiver android:name=".MyReceiver2" android:enabled="true" android:exported="true" > <intent-filter android:priority="99"> <action android:name="group.chicai.study.MYBOASTCASE" /> </intent-filter> </receiver>
三、发送有序广播
Button button8 = (Button)findViewById(R.id.button8); button8.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent("group.chicai.study.MYBOASTCASE"); sendOrderedBroadcast(intent,null);//就是换了个方法发送 } });