上一篇文章介绍了在AndroidManifest.xml文件中定义过滤器的方法,这篇文章讲解使用java代码定义这些过滤器。

首先,介绍在xml文件中定义过滤器的弊端。如果开发者在xml文件中定义的不是系统级事件,正如上一篇文章中的那样,那么不管用户的应用程序是否关闭,Receiver程序始终处于运行(监听)状态,直到用户手机关闭。这样,就会对内存和手机电量造成极大的浪费,所以当用户不需要定义系统级事件时,可以使用简单的java代码实现过滤器的注册。

下面是具体的实现代码:

public class BroadcastReceiver01 extends Activity {private Button button;private Button button2;private Broadcast_receiver  brReceiver01;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_broadcast_receiver01);button=(Button)findViewById(R.id.button1);button2=(Button)findViewById(R.id.button2);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubbrReceiver01=new Broadcast_receiver();IntentFilter intentFilter=new IntentFilter();intentFilter.addAction("BruceZhang");registerReceiver(brReceiver01, intentFilter);Intent intent=new Intent("BruceZhang");
//              由于是并不是使用内置的Action,所以系统不会发出这个广播事件,仍然需要用户手动的去广播sendBroadcast(intent);}});button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubunregisterReceiver(brReceiver01);   }});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_broadcast_receiver01, menu);return true;}}
public class Broadcast_receiver extends BroadcastReceiver {@Overridepublic void onReceive(Context arg0, Intent arg1) {// TODO Auto-generated method stubLog.d("BruceZhang", "This is BroadcastReceiver!!!"+arg1.getAction());if(arg1.getAction()=="BruceZhang"){Log.d("BruceZhang", "---->This is BroadcastReceiver!!!");}}}

Android开发--BroadcastReceiver2相关推荐

  1. Android环境搭建和Android HelloWorld—Android开发环境搭建

    Android_Android开发环境搭建-搭建Android的开发环境 1.我考虑先下载JDK7.0,在JDK的安装中,考虑一般SDK都是向上兼容的,于是选择了最高的版本7.0 这里是我总结的详细的 ...

  2. java安卓开发工具_推荐几个非常实用的Android开发工具

    工欲善其事,必先利其器.我们进行Android开发也要有好的开发工具辅助才能更好更高效的完成各种开发,为用户提供更实用的应用程序.本文就为大家推荐几个非常实用的Android开发工具,及几个常用的编辑 ...

  3. android 网络编程实现,Android开发使用HttpURLConnection进行网络编程详解【附源码下载】...

    本文实例讲述了Android开发使用HttpURLConnection进行网络编程.分享给大家供大家参考,具体如下: --HttpURLConnection URLConnection已经可以非常方便 ...

  4. linux 浏览器源码下载,Android开发:图片浏览器源码

    Android 图片浏览器源码,是你学习Android很好的例子,希望对你的学习有帮助. main.xml android:layout_width="fill_parent" a ...

  5. 2017-2018-2 20165236 实验四《Android开发基础》实验报告

    2017-2018-2 20165236 实验四<Android开发基础>实验报告 一.实验报告封面 课程:Java程序设计       班级:1652班       姓名:郭金涛     ...

  6. Android开发权威指南(第2版)新书发布

    <Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供 ...

  7. indows上的android开发环境软件架构5

    (二)实验要求: ? 修改按下button 显示的内容中添加上自己的学号姓名: ? 添加一个按钮,按钮名称为"退出",并且为这个按钮添加事件代码,使得点击这个按钮后退 出程序.事件 ...

  8. 折叠屏就要来了,适配逼死 Android 开发?

    1. 异型屏还没适配好,折叠屏就要来了,Android 的碎片化,让开发者又多掉了不少头发. 北京时间 11 月 8 日,三星在旧金山向开发者发布了一款可折叠屏幕手机.并表示,新技术需要开发者调整其 ...

  9. 《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析...

    1.前言 Android Studio 是第一个Google官方的 Android 开发环境.其他工具,例如 Eclipse,在 Android Studio 发布之前已经有了大规模的使用.为了帮助开 ...

最新文章

  1. 探索区块链-挖框体验
  2. Vue 里的$如何理解
  3. 物联网的未来:关于物联网的10个预测
  4. 【C11】float
  5. Android 3D开发,OpenGL ES 的使用(一)
  6. python多标签分类_如何通过sklearn实现多标签分类?
  7. Linux阻塞和同步机制
  8. 信贷三类业务风险如何把控
  9. OCR技术系列之四】基于深度学习的文字识别(3755个汉字)(转)
  10. 关于Initializing Spring root WebApplicationContext解决方法
  11. 要毕业了,兄弟也签了工作。。。
  12. SUBMAIL赛邮云通信短信接口调用教程,一分钟集成
  13. 个人信用风险评估项目
  14. Ubuntu搭建透明网桥
  15. linux安装i219网卡驱动下载,华硕E500 G5 (-INTEL I210 / I219-LM)网卡驱动12.17.10.7版下载,适用于Win10-64-驱动精灵...
  16. 图形学--(中点画线法+Bresenham画线算法)
  17. BLDC 6步换相 simulink
  18. stc单片机自动下载程序原理和代码实现
  19. 正版示波器软件安装教程NS-Scope
  20. html5设计礼品盒效果,十款眼前一亮的包装设计

热门文章

  1. JavaScript获取鼠标左键选中的内容
  2. HDU2425:Hiking Trip(简单bfs,优先队列实现)
  3. Center OS 5.5 下安装 和 配置 Tomcat 7
  4. 基于nginx的tomcat负载均衡和集群(超简单)
  5. IPsec NAT穿越
  6. 新型攻击接踵而来 思科Talos解析Jaff勒索软件
  7. MySQL数据表的创建、查看、插入
  8. 【有上下界网络流】【ZOJ】2314 Reactor Cooling
  9. Neutron 物理部署方案 - 每天5分钟玩转 OpenStack(68)
  10. 2013杭电warm up1 hdu 4712 Hamming Distance