ANDROID_MARS学习笔记_S01原始版_012_广播机制一
一、简介

二、代码
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 }
You can do anything you set your mind to, man!

浙公网安备 33010602011771号