package com.example.broadcasttest3; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class AnotherBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context,Intent intend) { Toast.makeText(context, "receive in AnotherBroadcastReceiver",Toast.LENGTH_SHORT).show(); } }
<application ...................省略代碼................... <receiver android:name=".AnotherBroadcastReceiver"> <intent-filter> <action android:name="com.example.broadcasttest.MY_BROADCAST" /> </intent-filter> </receiver> </application>
com.example.broadcasttest.MY_BROADCAST
的廣播send broadcast
按鈕,會出現注意:
com.example.broadcasttest.MY_BROADCAST
的廣播已經在第一個項目的Androidmanifest.xml
文件中定義好了。java
MainActivity.java
中//將sendBroadcast(intent);修改成以下有序廣播的方法 sendOrderedBroadcast(intent,null);
AndroidManifest.xml
中文件添加優先級,表明項目1,在項目2以前得到該廣播<receiver android:name=".MyBroadcastReceiver"> <intent-filter android:priority="100"> <action android:name="com.example.broadcasttest.MY_BROADCAST"/> </intent-filter> </receiver>
android:priority="100"
MyBroadcastReceiver
public void onReceive(Context context,Intent intent) { Toast.makeText(context, "received in MyBroadcastReceiver", Toast.LENGTH_SHORT).show(); abortBroadcast(); }
LocalBroadcastManager
來管理