1.定義接受廣播的類
package mars.com;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget.Toast;public class MyReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {String str;str = "接收到的訊息:" + intent.getStringExtra("message");Toast.makeText(context, str, Toast.LENGTH_SHORT).show();}}
2.activity類
package mars.com;import android.app.Activity;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class DemoBroadcastReceiverActivity extends Activity {private Button button1;private Button button2;private Button button3;public MyReceiver receiver;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);button1 = (Button) findViewById(R.id.button1);button2 = (Button) findViewById(R.id.button2);button3 = (Button) findViewById(R.id.button3);button1.setOnClickListener(new OnClickListener() {public void onClick(View v) {Intent intent = new Intent();intent.setAction("mars.com");intent.putExtra("message", "來自於廣播的訊息");sendBroadcast(intent);}});button2.setOnClickListener(new OnClickListener() {public void onClick(View v) {IntentFilter filter = new IntentFilter("mars.com");receiver = new MyReceiver();registerReceiver(receiver, filter);// 註冊廣播接收器}});button3.setOnClickListener(new OnClickListener() {public void onClick(View v) {unregisterReceiver(receiver);// 銷毀廣播接收器}});}}
3.千萬別忘了註冊廣播接收器
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mars.com" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".DemoBroadcastReceiverActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="MyReceiver" > <intent-filter> <action android:name="mars.com" /> </intent-filter> </receiver> </application></manifest>
<receiver android:name="MyReceiver" >
<intent-filter>
<action android:name="mars.com" />
</intent-filter>
</receiver>