首先,我们要创建三个MyBroadReceiver,在里面写一些,自己想要输出的语句。
public class MyBroadReceiverOne extends BroadcastReceiver { public MyBroadReceiverOne() { } @Override public void onReceive(Context context, Intent intent) { // TODO: This method is called when the BroadcastReceiver is receiving // an Intent broadcast. Log.d("MyBroadReceiverOne","自定义ONE"); } }接下来的两个,与第一个类似。 创建广播接收器后,我们还要配置一下他们:
<receiver android:name=".MyBroadReceiverOne" android:enabled="true" android:exported="true"> <intent-filter android:priority="1000"> <action android:name="Intercept_Stitch"/> </intent-filter> </receiver> <receiver android:name=".MyBroadReceiverTwo" android:enabled="true" android:exported="true"> <intent-filter android:priority="200"> <action android:name="Intercept_Stitch"/> </intent-filter> </receiver> <receiver android:name=".MyBroadReceiverThree" android:enabled="true" android:exported="true"> <intent-filter android:priority="600"> <action android:name="Intercept_Stitch"/> </intent-filter> </receiver>接下来是MainActivity中的代码。
public class Exe extends AppCompatActivity { private Button bt_send; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_exe); bt_send = (Button) findViewById(R.id.button); bt_send.setOnClickListener(new send()); } private class send implements View.OnClickListener { @Override public void onClick(View v) { Intent intent = new Intent("Intercept_Stitch"); sendOrderedBroadcast(intent,null); } } }发送广播的顺序,和配置文件的priority属性有过,当priority的值越大时,优先级就越高,也就优先输出。当然如果两个接收器优先级一样大的话,那么就按照它们在XML文件中的先后顺序来确定它们的输出顺序。
