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>

 

posted @ 2016-04-15 17:16  ts-android  阅读(131)  评论(0编辑  收藏  举报