Android开发--BroadcastReceiver2
上一篇文章介绍了在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相关推荐
- Android环境搭建和Android HelloWorld—Android开发环境搭建
Android_Android开发环境搭建-搭建Android的开发环境 1.我考虑先下载JDK7.0,在JDK的安装中,考虑一般SDK都是向上兼容的,于是选择了最高的版本7.0 这里是我总结的详细的 ...
- java安卓开发工具_推荐几个非常实用的Android开发工具
工欲善其事,必先利其器.我们进行Android开发也要有好的开发工具辅助才能更好更高效的完成各种开发,为用户提供更实用的应用程序.本文就为大家推荐几个非常实用的Android开发工具,及几个常用的编辑 ...
- android 网络编程实现,Android开发使用HttpURLConnection进行网络编程详解【附源码下载】...
本文实例讲述了Android开发使用HttpURLConnection进行网络编程.分享给大家供大家参考,具体如下: --HttpURLConnection URLConnection已经可以非常方便 ...
- linux 浏览器源码下载,Android开发:图片浏览器源码
Android 图片浏览器源码,是你学习Android很好的例子,希望对你的学习有帮助. main.xml android:layout_width="fill_parent" a ...
- 2017-2018-2 20165236 实验四《Android开发基础》实验报告
2017-2018-2 20165236 实验四<Android开发基础>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:郭金涛 ...
- Android开发权威指南(第2版)新书发布
<Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供 ...
- indows上的android开发环境软件架构5
(二)实验要求: ? 修改按下button 显示的内容中添加上自己的学号姓名: ? 添加一个按钮,按钮名称为"退出",并且为这个按钮添加事件代码,使得点击这个按钮后退 出程序.事件 ...
- 折叠屏就要来了,适配逼死 Android 开发?
1. 异型屏还没适配好,折叠屏就要来了,Android 的碎片化,让开发者又多掉了不少头发. 北京时间 11 月 8 日,三星在旧金山向开发者发布了一款可折叠屏幕手机.并表示,新技术需要开发者调整其 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析...
1.前言 Android Studio 是第一个Google官方的 Android 开发环境.其他工具,例如 Eclipse,在 Android Studio 发布之前已经有了大规模的使用.为了帮助开 ...
最新文章
- 探索区块链-挖框体验
- Vue 里的$如何理解
- 物联网的未来:关于物联网的10个预测
- 【C11】float
- Android 3D开发,OpenGL ES 的使用(一)
- python多标签分类_如何通过sklearn实现多标签分类?
- Linux阻塞和同步机制
- 信贷三类业务风险如何把控
- OCR技术系列之四】基于深度学习的文字识别(3755个汉字)(转)
- 关于Initializing Spring root WebApplicationContext解决方法
- 要毕业了,兄弟也签了工作。。。
- SUBMAIL赛邮云通信短信接口调用教程,一分钟集成
- 个人信用风险评估项目
- Ubuntu搭建透明网桥
- linux安装i219网卡驱动下载,华硕E500 G5 (-INTEL I210 / I219-LM)网卡驱动12.17.10.7版下载,适用于Win10-64-驱动精灵...
- 图形学--(中点画线法+Bresenham画线算法)
- BLDC 6步换相 simulink
- stc单片机自动下载程序原理和代码实现
- 正版示波器软件安装教程NS-Scope
- html5设计礼品盒效果,十款眼前一亮的包装设计
热门文章
- JavaScript获取鼠标左键选中的内容
- HDU2425:Hiking Trip(简单bfs,优先队列实现)
- Center OS 5.5 下安装 和 配置 Tomcat 7
- 基于nginx的tomcat负载均衡和集群(超简单)
- IPsec NAT穿越
- 新型攻击接踵而来 思科Talos解析Jaff勒索软件
- MySQL数据表的创建、查看、插入
- 【有上下界网络流】【ZOJ】2314 Reactor Cooling
- Neutron 物理部署方案 - 每天5分钟玩转 OpenStack(68)
- 2013杭电warm up1 hdu 4712 Hamming Distance