android BroadcastReceiver应用举例
来源:互联网 发布:上海市政府数据服务网 编辑:程序博客网 时间:2024/05/16 15:27
/************************** 动态注册 ***********************************/
TextMain.java
package lxy.litsoft;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class TestMain extends Activity {BroadcastReceiver bcr;//声明一个广播接收器Button btSendMessage;//声明一个按钮public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //实例化广播接收器对象 bcr = new BroadcastReceiver(){public void onReceive(Context context, Intent intent) {Log.d("test", "^-^, Have received Massage!");} }; //实例化按键对象并为其添加监听器 btSendMessage = (Button)findViewById(R.id.button01); btSendMessage.setOnClickListener(new ButtonListener()); }class ButtonListener implements OnClickListener{public void onClick(View v) {//当点击按钮的时候,就发送广播Intent intent = new Intent();intent.setAction("ABC");sendBroadcast(intent);}}protected void onStart() {super.onStart();//注册广播接收器(动态注册)IntentFilter filter = new IntentFilter();filter.addAction("ABC");this.registerReceiver(bcr, filter);}protected void onStop() {super.onStop();//取消注册广播接收器this.unregisterReceiver(bcr);} }
main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /><Buttonandroid:id="@+id/button01"android:text="SendMessage"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button></LinearLayout>
/***************************************** 静态注册 ********************************************/
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="lxy.litsoft" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".TestMain" 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="MyBroadcastReciever"><intent-filter><action android:name="ABC"></action></intent-filter></receiver> </application></manifest>
TestMain.java
package lxy.litsoft;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class TestMain extends Activity {Button btSendMessage;//声明一个按钮public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btSendMessage = (Button)findViewById(R.id.button01); btSendMessage.setOnClickListener(new ButtonListener()); }class ButtonListener implements OnClickListener{public void onClick(View v) {//当点击按钮的时候,就发送广播Intent intent = new Intent();intent.setAction("ABC");sendBroadcast(intent);}} }
MyBroadcastReciever.java
package lxy.litsoft;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;public class MyBroadcastReciever extends BroadcastReceiver{public void onReceive(Context context, Intent intent) {Log.d("test", "^-^, Have received Massage!");}}
动态注册和静态注册一个BroadcastReceiver的区别:
动态注册较静态注册灵活。实验证明:当静态注册一个BroadcastReceiver时,不论应用程序是启动与否。都可以接受对应的广播。
动态注册的时候,如果不执行unregisterReceiver();方法取消注册,跟静态是一样的。但是如果执行该方法,当执行过以后,就不能接受广播了。
- android BroadcastReceiver应用举例
- Android BroadcastReceiver应用举例
- Android BroadcastReceiver应用详解
- android BroadcastReceiver应用详解
- Android BroadcastReceiver应用详解
- Android--BroadcastReceiver应用详解
- Android--BroadcastReceiver应用详解
- Android--BroadcastReceiver应用详解
- Android DatePickerDialog应用举例
- 代码中解析短信——BroadCastReceiver应用举例
- android之BroadcastReceiver应用详解
- Android基础--BroadcastReceiver应用详解
- Android下BroadcastReceiver应用详解
- Android之BroadcastReceiver应用详解
- Android基础--BroadcastReceiver应用详解
- Android应用框架之BroadcastReceiver
- Android BroadcastReceiver 的简单应用
- android GridView的应用举例
- MD5 C语言实现
- linux多进程和多线程分析之二
- 握奇携手北京一卡通推SD卡 发力移动支付市场
- 22个很棒的jQuery文件上传插件
- Ext动态动态增加Tab
- android BroadcastReceiver应用举例
- 内存堆栈和数据结构堆栈
- ExtJS Tips->Grid的列宽设置
- JS Class construct and extend
- flurry 应用统计(android iphone 等平台)
- FusionCharts 的XML标签属性
- android 将图片保存到数据库
- MD5 Java 实现
- C# virtual、Override、New小结