一提起广播,我们首先想到的是收音机,当我们想要收听某个广播台时只需要将收音机的频率调至广播台所在的频率即可!而Android中的广播其实和收音机非常相似,不过它没有所谓的频率,它是由系统广播一个事件,然后由其他满足某一条件的程序接收并处理这个事件!!

  要在Android中实现广播,首先我们要在Manifest.xml文件中配置一个标签,这个标签必须有一个android:name属性,值为继承自BroadcastReceiver类的接收器类!这个标签还有一个子标签为,这个标签很重要,是指定接收器需要接收哪种广播。另外,还有配置一个用户权限:,具体的值可以参考官方API文档。

另外一个比较重要的步骤是必须有一个类继承自BroadcastReceiver类,并复写onReceiver方法,在该方法中处理接收到广播后需要处理的事情!

下面来看一个具体的例子,有助于更好的理解广播机制是怎么一回事。

UI部分就不说了,Activity上就加了一个按钮,点击后发送广播。接收器接收到广播后在终端输出一句话。

首先看AndroidManifest.xml文件:


<?xml version="1.0" encoding="utf-8"?>                                                                                           

下面是Activity:

package com.gufengxiachen.broadcast;import android.app.Activity;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class BroadCast extends Activity {    /** Called when the activity is first created. */private Button sendBroadCast =null;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);               sendBroadCast = (Button)findViewById(R.id.sendBroadCast);               sendBroadCast.setOnClickListener(new SendBroadCast());    }    class SendBroadCast implements OnClickListener{    @Override    public void onClick(View v) {    // TODO Auto-generated method stub        Intent intent = new Intent(Intent.ACTION_EDIT);    BroadCast.this.sendBroadcast(intent);    }    }      }

下面是接收器类:

package com.gufengxiachen.broadcast;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class MyBroadCastReceiver extends BroadcastReceiver{public MyBroadCastReceiver(){}@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("message receiver");}}


更多相关文章

  1. android webview不支持input type=file 标签解决办法
  2. android学习轨迹之二:Android权限标签uses-permission的书写位置
  3. Android中使用TabHost实现类似标签栏的效果
  4. Android布局优化:ViewStub标签实现延迟加载(源码解析原理)
  5. Android TextView 支持的HTML标签
  6. AndroidManifest 中original-package标签

随机推荐

  1. Android 布局之TableLayout
  2. Android百度地图——定位SDK(版本v3.1)(一)
  3. 使用 Android(安卓)实现联网
  4. 【android】AsyncTask完全剖析(二)
  5. Android 仿微信Activity左右切换 【全局
  6. 【Android开发学习02】Android应用程序的
  7. 使用android studio 查看 android 的源代
  8. Android Studio和Eclipse快捷键对比,及快
  9. android 字符串、颜色和尺寸
  10. Android中添加思源字体/NotoSansCJK/Sour