Android:BroadcastReceiver的练习使用

 1 package com.example.broadcastdemo1;
 2
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.content.Intent;
 6 import android.content.IntentFilter;
 7 import android.view.Menu;
 8 import android.view.View;
 9
10 public class MainActivity extends Activity {
11     private MyBroadcastReceiver2 mbr2;
12     private MyBroadcastReceiver3 mbr3;
13     @Override
14     protected void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.activity_main);
17         IntentFilter intentFilter = new IntentFilter("BC_One");
18         mbr2 = new MyBroadcastReceiver2();
19         registerReceiver(mbr2, intentFilter);
20     }
21
22     public void doClick(View v) {
23         switch (v.getId()) {
24         case R.id.normal_broadcast:
25             Intent intent = new Intent();
26             intent.putExtra("msg", "这是一条普通广播");
27             intent.setAction("BC_One");
28             sendBroadcast(intent);
29             break;
30         case R.id.ordered_broadcast:
31             Intent intent2 = new Intent();
32             intent2.putExtra("msg", "这是一条有序广播");
33             intent2.setAction("BC_One");
34             sendOrderedBroadcast(intent2, null);
35             break;
36         case R.id.sticky_broadcast:
37             Intent intent3 = new Intent();
38             intent3.putExtra("msg", "这是一条有序广播");
39             intent3.setAction("BC_Three");
40             sendStickyBroadcast(intent3);
41             IntentFilter intentFilter = new IntentFilter("BC_Three");
42             mbr3 = new MyBroadcastReceiver3();
43             registerReceiver(mbr3, intentFilter);
44             break;
45         }
46     }
47
48 //    @Override
49 //    protected void onDestroy() {
50 //        // TODO Auto-generated method stub
51 //        super.onDestroy();
52 //        unregisterReceiver(mbr2);
53 //        unregisterReceiver(mbr3);
54 //    }
55 }
 1 package com.example.broadcastdemo1;
 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
 9 public class MyBroadcastReceiver2 extends BroadcastReceiver{
10
11     @Override
12     public void onReceive(Context context, Intent intent) {
13         // TODO Auto-generated method stub
14         String str = intent.getStringExtra("msg");
15         Log.i("info","我是2!信息为:"+str );
16         Bundle bundle = new Bundle();
17         bundle.putString("test", "经过处理的数据");
18         setResultExtras(bundle);
19 //        abortBroadcast();
20     }
21
22 }
 1 package com.example.broadcastdemo1;
 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
 9 public class MyBroadcastReceiver extends BroadcastReceiver{
10
11     @Override
12     public void onReceive(Context context, Intent intent) {
13         // TODO Auto-generated method stub
14         String str = intent.getStringExtra("msg");
15         Log.i("info", "我是1!信息为:"+str);
16         Bundle bundle = getResultExtras(true);
17         String str2 = bundle.getString("test");
18         Log.i("info", "这是什么?"+str2);
19     }
20
21 }
 1 package com.example.broadcastdemo1;
 2
 3 import android.content.BroadcastReceiver;
 4 import android.content.Context;
 5 import android.content.Intent;
 6 import android.util.Log;
 7
 8 public class MyBroadcastReceiver3 extends BroadcastReceiver{
 9
10     @Override
11     public void onReceive(Context context, Intent intent) {
12         // TODO Auto-generated method stub
13         Log.i("info", "接收到了一条异步广播!");
14     }
15
16 }
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.broadcastdemo1"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6
 7     <uses-sdk
 8         android:minSdkVersion="8"
 9         android:targetSdkVersion="17" />
10     <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
11
12     <application
13         android:allowBackup="true"
14         android:icon="@drawable/ic_launcher"
15         android:label="@string/app_name"
16         android:theme="@style/AppTheme" >
17         <activity
18             android:name="com.example.broadcastdemo1.MainActivity"
19             android:label="@string/app_name" >
20             <intent-filter>
21                 <action android:name="android.intent.action.MAIN" />
22
23                 <category android:name="android.intent.category.LAUNCHER" />
24             </intent-filter>
25         </activity>
26         <receiver
27             android:name="com.example.broadcastdemo1.MyBroadcastReceiver">
28             <intent-filter >
29                 <action android:name="BC_One"/>
30             </intent-filter>
31         </receiver>
32     </application>
33
34 </manifest>
时间: 2024-08-27 00:59:35

Android:BroadcastReceiver的练习使用的相关文章

39.Android BroadcastReceiver

39.Android BroadcastReceiver Android BroadcastReceiver Android BroadcastReceiver 介绍 Android BroadcastReceiver 功能 Android BroadcastReceiver 浅淡机制 静态BroadcastReceiver 实现 动态BroadcastReceiver 实现 BroadcastReceiver 启动 Service Android BroadcastReceiver 介绍 现在

Android BroadcastReceiver基础详解一

-.BroadcastReceivcer概述 1.什么是广播 BroadcastReceiver是Android四大组件之一,本质是一种全局的监听器,用于监听系统全局的广播消息.因此它可以非常方便的实现不同组件之间的通信. 2.BroadcastReceiver的创建启动 BroadcastReceiver是用用于接受程序所放出的Broadcast Intent,与应用程序启动的Activity.Service相同.也只需要两步: ①.创建需要启动的Broadcast的Intent ②.创建一个

Android BroadcastReceiver

Broadcast Receiver:接听用户程序或系统程序所发出的broadcast intent,属于系统级别的监听器,拥有自己的进程,可以使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息,在应用程序中实现Broadcast Receiver来监听和响应这些广播的Intent.匹配Intent的BroadcastReceiver都可能被启动 事件广播要构建Intent然后调用sendBroadcast()方法将广播发出,事件的接收是通过定义一个继承Broadcas

【转】Android BroadcastReceiver介绍

本文主要介绍BroadcastReceiver的概念.使用.生命周期.安全性.分类.特殊的BroadcastReceiver(本地.粘性.有序.粘性有序广播).示例代码见BroadcastReceiverDemo,示例APK见:TrineaAndroidDemo.apk. 1.概念介绍及两种注册方式的区别 BroadcastReceiver作为Android四大组件之一,不像Activity,没有可显示的界面.BroadcastReceiver包括两个概念,广播发送者和广播接收者(Receive

android BroadcastReceiver组件简单的使用

1.清单文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ipdail" android:versionCode="1" android:versionName="1.

Android BroadcastReceiver详解

BroadcastReceiver,顾名思义就是"广播接收者"的意思,它是Android四大基本组件之一,这种组件本质上是一种全局的监听器,用于监听系统全局的广播消息.它可以接收来自系统和应用的的广播. 由于BroadcastReceiver是一种全局的监听器,因此它可以非常方便地实现系统不同组件之间的通信.比如Activity与通过startService()方法启动的Service之间通信,就可以借助于BroadcastReceiver来实现. BroadcastReceiver简

Android BroadcastReceiver实时监听电量

Android系统中实时的监听手机电量以及开机启动功能都是通过BroadcastReceiver组件实现的.我们可以动态注册这个类的一个实例通过 Context.registerReceiver()方法或者静态注册,通过<Receiver>标记在androidmanifest . xml.注意:如果我们注册一个接收器在Activity.onResume()实现,我们应该注销Activity在Activity生命周期的 onPause方法中.(这将减少不必要的系统开销).切记不能注销Activi

Android——BroadcastReceiver 广播 短信拦截

/** * 如何去理解BroadcastReceiver(广播)?   * 其实可以这样想,首先我们要有一个发送广播的“媒体”,在这个例子中,我们暂且用activity组件作为这个媒体,当然以后 * 会用到service,或者随机启动方式来发送广播,这看业务需求来决定. * 在这个例子中,当点击按钮的时候,一条广播就发送了出去,同样用到了意图对象Intent. * 和启动activity和service一样,我们需要为意图对象设置“标记”和“包裹”,它就像个基站,向世界发送信号. * 而对于广播

初学Android,BroadcastReceiver之发送接收广播

BroadcastReceiver用于监听系统全局广播消息,由于BroadcastReceiver是一种全局的监听器,因此它可以非常方便地实现系统中不同组件之间通信 启动它需要两步 1.创建需要启动的BroadcastReceiver的Intent 2.调用Context的SendBroadcast或sendOrederedBroadcast方法来启动指定的BroadcastReceiver 这其中关键是创建Intent时,要setAction("xxx"),而BroadcastRec