1、首先自定義一個廣播接收器:MyBroadcastReceiver
package example.com.mybroadcastreceiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context,"received in MyBroadcastReceiver",Toast.LENGTH_SHORT).show(); } }
2、修改AndroidManifest中的代碼:
<receiver android:name=".MyBroadcastReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="example.com.mybroadcastreceiver.MY_BROADCAST"/> </intent-filter> </receiver>
3、為主活動添加一個按鈕:
<Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Send Broadcast"/>
4、為按鈕綁定點擊事件:
package example.com.mybroadcastreceiver; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //構建一個Intent對象,並把要發送的廣播值傳進去。 Intent intent = new Intent("example.com.mybroadcastreceiver.MY_BROADCAST"); //調用Context的sendBroadcast()方法,將廣播發送出去。所有監聽這條廣播的接收器就都會接收到這條廣播。 sendBroadcast(intent); } }); } }
5、發送有序廣播:新建一個項目,自定義一個廣播接收器,用於接收上面的廣播。
package example.com.broadcasttest02; 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 intent) { Toast.makeText(context,"received in AnotherBroadcastReceiver",Toast.LENGTH_SHORT).show(); } }
6、不要忘記在AndroidManifest中注冊:
<receiver android:name=".AnotherBroadcastReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="example.com.broadcasttest02.MY_BROADCAST"/> </intent-filter> </receiver>
7、