mars_广播接收
1 package com.example.mars_gbjs; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.content.IntentFilter; 6 import android.os.Bundle; 7 import android.view.Menu; 8 import android.view.MenuItem; 9 import android.view.View; 10 import android.view.View.OnClickListener; 11 import android.widget.Button; 12 13 public class MainActivity extends Activity { 14 15 private TestBroadcast test; 16 @Override 17 protected void onCreate(Bundle savedInstanceState) { 18 super.onCreate(savedInstanceState); 19 setContentView(R.layout.activity_main); 20 Button but=(Button) findViewById(R.id.but); 21 Button but2=(Button) findViewById(R.id.but2); 22 Button but3=(Button) findViewById(R.id.but3); 23 but.setOnClickListener(new OnClickListener() { 24 @Override 25 public void onClick(View v) { 26 test = new TestBroadcast();//创立广播接收对象 27 IntentFilter filter=new IntentFilter();//创立过滤器 28 filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);//添加过滤的事件(相当于监听器)监听手机的飞行模式 29 registerReceiver(test, filter);//注册广播 30 31 } 32 }); 33 but2.setOnClickListener(new OnClickListener() { 34 @Override 35 public void onClick(View v) { 36 unregisterReceiver(test);//取消注册 37 } 38 }); 39 but3.setOnClickListener(new OnClickListener() { 40 @Override 41 public void onClick(View v) { 42 Intent intent=new Intent("my_broadcast"); 43 sendBroadcast(intent);//自定义广播 44 } 45 }); 46 } 47 }
1 package com.example.mars_gbjs; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.os.Bundle; 7 import android.util.Log; 8 import android.widget.Toast; 9 10 public class TestBroadcast extends BroadcastReceiver{ 11 12 @Override 13 public void onReceive(Context context, Intent intent) {//收到自定义广播调用此函数 14 Log.i("test", "收到广播"); 15 Toast.makeText(context, "收到广播", 0).show(); 16 } 17 18 }
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.mars_gbjs" 4 android:versionCode="1" 5 android:versionName="1.0" > 6 7 <uses-sdk 8 android:minSdkVersion="15" 9 android:targetSdkVersion="15" /> 10 11 <application 12 android:allowBackup="true" 13 android:icon="@drawable/ic_launcher" 14 android:label="@string/app_name" 15 android:theme="@style/AppTheme" > 16 <activity 17 android:name=".MainActivity" 18 android:label="@string/app_name" > 19 <intent-filter> 20 <action android:name="android.intent.action.MAIN" /> 21 22 <category android:name="android.intent.category.LAUNCHER" /> 23 </intent-filter> 24 </activity> 25 <receiver android:name=".TestBroadcast"> 26 <intent-filter > 27 <action android:name="my_broadcast"/>//注册自定义广播 28 </intent-filter> 29 </receiver> 30 </application> 31 32 </manifest>