Android应用开发基础篇(7)-----BroadcastReceiver
2012-02-22 18:58
555 查看
[b]一、概述[/b]
BroadcastReceiver,意思就是广播信息接收者,是Android的四大组件之一。它既可以接收系统广播出来的信息,也可以接收自定义的广播信息,比如说接收系统开机完成的信息,然后让某个程序启动,这就可以实现程序开机启动,又或者,某个程序需要通过Service发出的信息来更新UI,这时也可以使用BroadcastReceiver。
[b]二、要求[/b]
编写一个程序,能够接收自定义的广播信息,程序在接收到这个信息后把收到的信息显示到屏幕上。
[b]三、实现[/b]
新建工程MyBroadcast,修改/res/layout/main.xml文件,在里面添加一个Button和一个TextView,完整的main.xml文件如下:
接着,修改MyBroadcastActivity.java文件,编写一个BroadcastReceiver的子类,实现它的onReceive()方法,注册一个接收者。完整的MyBroadcastActivity.java如下:
好了,运行该程序,如下:
点击一下“发送广播”按钮,如下:
完成。
后记:
还可以把BroadcastReceiver的子类写在一个单独的java文件里,这时就需要修改AndroidManifest.xml文件,在里面声明一个receiver。
BroadcastReceiver,意思就是广播信息接收者,是Android的四大组件之一。它既可以接收系统广播出来的信息,也可以接收自定义的广播信息,比如说接收系统开机完成的信息,然后让某个程序启动,这就可以实现程序开机启动,又或者,某个程序需要通过Service发出的信息来更新UI,这时也可以使用BroadcastReceiver。
[b]二、要求[/b]
编写一个程序,能够接收自定义的广播信息,程序在接收到这个信息后把收到的信息显示到屏幕上。
[b]三、实现[/b]
新建工程MyBroadcast,修改/res/layout/main.xml文件,在里面添加一个Button和一个TextView,完整的main.xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/mbutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="发送广播" /> <View android:layout_width="fill_parent" android:layout_height="70dp" /> <TextView android:id="@+id/mtextview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="30dp" android:textColor="#FF0000FF" android:gravity="center_horizontal" /> </LinearLayout>
接着,修改MyBroadcastActivity.java文件,编写一个BroadcastReceiver的子类,实现它的onReceive()方法,注册一个接收者。完整的MyBroadcastActivity.java如下:
package com.nan.receiver; 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.view.View; import android.widget.Button; import android.widget.TextView; public class MyBroadcastActivity extends Activity { private Button mButton = null; private TextView mTextView = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mTextView = (TextView)findViewById(R.id.mtextview); mButton = (Button)findViewById(R.id.mbutton); //设置按钮监听 mButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent mIntent = new Intent(); //设置接收动作 mIntent.setAction("com.nan.action.MY_ACTION"); //设置发送的内容 mIntent.putExtra("MY", "您好!"); //发送广播 sendBroadcast(mIntent); } }); //注册接收 registerReceiver(mReceiver,new IntentFilter("com.nan.action.MY_ACTION")); } //自定义一个继承BroadcastReceiver的类 private BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub //显示接收到的信息 mTextView.setText(intent.getStringExtra("MY")); } }; }
好了,运行该程序,如下:
点击一下“发送广播”按钮,如下:
完成。
后记:
还可以把BroadcastReceiver的子类写在一个单独的java文件里,这时就需要修改AndroidManifest.xml文件,在里面声明一个receiver。
相关文章推荐
- Android4开发入门经典 之 第二部分:Android应用的核心基础
- 【Android开发基础】应用界面主题Theme使用方法
- Android零基础入门第9节:Android应用实战,不懂代码也可以开发
- Android零基础入门第9节:Android应用实战,不懂代码也可以开发
- 【Android开发基础】应用界面主题Theme使用方法
- Android系列一:Android应用开发基础知识篇
- Android应用开发基础
- Android应用开发基础之六:页面跳转和数据传递
- Android开发中基础动画技巧的应用
- Android应用开发基础篇(4)-----TabHost(选项卡)
- 【Android应用开发技术:基础构建】命令行下的Android应用开发
- Android应用开发学习总结(一)——环境搭建与基础准备
- Android应用开发基础篇(10)-----Menu(菜单)
- Android应用开发基础篇(12)-----Socket通信
- Android应用开发基础篇(3)-----ListView
- 【Android开发基础】应用界面主题Theme使用方法
- Android应用开发基础篇(10)-----Menu(菜单)
- Android应用开发基础之广播与服务
- Android开发应用基础学习
- 【Android开发基础】应用界面主题Theme使用方法