一、简介
二、代码
1.xml
(1)activity_main.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="fill_parent" 5 android:layout_height="fill_parent" 6 > 7 <Button 8 android:id="@+id/sendButton" 9 android:layout_width="fill_parent" 10 android:layout_height="wrap_content" 11 android:text="发送消息给Receiver" 12 /> 13 </LinearLayout>
(2)AndroidManifest.xml.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.broadcast" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" 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=".TestReceiver"> <intent-filter> <action android:name="android.intent.action.EDIT"/> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.RECEIVE_SMS"/> </manifest>
2.java
(1)MainActivity.java
1 package com.broadcast; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.os.Bundle; 6 import android.view.View; 7 import android.view.View.OnClickListener; 8 import android.widget.Button; 9 10 public class MainActivity extends Activity { 11 /** Called when the activity is first created. */ 12 private Button sendButton; 13 @Override 14 public void onCreate(Bundle savedInstanceState) { 15 super.onCreate(savedInstanceState); 16 setContentView(R.layout.activity_main); 17 sendButton = (Button)findViewById(R.id.sendButton); 18 sendButton.setOnClickListener(new BroadcastListener()); 19 } 20 class BroadcastListener implements OnClickListener{ 21 22 @Override 23 public void onClick(View v) { 24 Intent intent = new Intent(); 25 intent.setAction(Intent.ACTION_EDIT);//要与在AndroidManifest.xml设置值一致 26 MainActivity.this.sendBroadcast(intent); 27 } 28 29 } 30 }
(2)TestReceiver.java
1 package com.broadcast; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 7 public class TestReceiver extends BroadcastReceiver{ 8 9 public TestReceiver(){ 10 System.out.println("TestReceiver"); 11 } 12 @Override 13 public void onReceive(Context context, Intent intent) { 14 System.out.println("onReceive"); 15 } 16 }