Android:广播接收器(BroadCastReceiver)要点随笔。
Context.sendBroadcast或者Context.sendOrderedBroadcast发出的意图(intent)。LocalBroadcastManager, LocalBroadcastManager 是一个帮助类,帮助你方便的在当前应用中注册广播接收 器和发送广播。并且和发送全局广播比起来,他还有如下优势:1,不用担心私有数据的安全性,因为发送的广播不会让除当前应用之外的其他应用接收到。2,不用担心其他应用会利用你的安全漏洞,因为其他应用不可能通过 LocalBroadcastManager向你发送广播。3,它比发送全局广播更加高效。 LocalBroadcastManager的常用方法如下:


动态注册方式:如果你在 Activity.onResume()注册一个广播接收器,你应该在 Activity.onPause()注销这个它. (当Activity Pause的时候,你不会接受到广播,如果你不在 Activity.onPause()中注销,将会带来极大的资源消耗。). 不要在Activity.onSaveInstanceState()中注销一个广播接收器, 因为该方法不会在用户移动到历史堆栈中其他Activity的时候被调用。 静态注册方式:











onReceive(Context, Intent)方法被调用的时候才有效,一旦 onReceive(Context, Intent)方法的代码呗返回,广播接收器的对象将不再有效。这个主要的影响就是你能在 onReceive(Context, Intent)方法中执行什么操作,任何有关异步的操作是无用的,因为当异步操作执行完成后, onReceive(Context, Intent)方法已经执行完,广播接收器对象已不再有效或者被系统回收。 2,通常情况下,你不能在 onReceive(Context, Intent)方法中弹出一个对话框,或者绑定一个service,对于前者,你可以用NotificationManager 来代替,对于后者,你可以调用Context.startService() 方法来代替。对于耗时操作应该在Service中执行。Android:广播接收器(BroadCastReceiver)要点随笔。的更多相关文章
- android广播接收器BroadcastReceiver
首先看一下什么是 BroadcastReceiver BroadcastReceiver:直译是"广播接收者",所以它的作用是用来接收发送过来的广播的. 那我们有必要知道:什么是广 ...
- (八)Android广播接收器BroadcastReceiver
一.使用Broadcast Reciver 1.右击java文件夹,new->other->Broadcast Receiver后会在AndroidManifest.xml文件中生成一个r ...
- android广播接收器
Android程序创建广播接收器继承BroadcastReceiver Android广播接收器需要在AndroidManifest.xml文件中声明: <recevie android:nam ...
- android在广播接收器BroadcastReceiver里面再进行发送广播,造成当前广播接收器不断循环执行问题
最近在公司处理项目时,用到锁屏状态弹出activity进行提示,类似QQ消息弹屏提示的功能.当中用到了,假如该弹出activity已经位于锁屏界面外时,将不进行再次弹窗,而是发送广播进行通知数据更新, ...
- Xamarin.Android广播接收器与绑定服务
一.前言 学习了前面的活动与服务后,你会发现服务对于活动而言似乎就是透明的,相反活动对于服务也是透明的,所以我们还需要一中机制能够将服务和活动之间架起一座桥梁,通过本节的学习,你将会学到广播与绑定服务 ...
- Android - 广播接收者 - BroadcastReceiver
BroadcastReceiver 介绍: 广播是一种广泛运用的在应用程序之间传输信息的机制 .而 BroadcastReceiver 是对发送出来的广播 进行过滤接收并响应的一类组件 接受一种或者多 ...
- Android广播接收器Broadcast Receiver-android学习之旅(十二)
首先继承BroadcastReceiver类,并在manifest中注册 public class MyReceiver extends BroadcastReceiver { public MyRe ...
- Android广播接收器和Activity间传递数据
Activity向广播接收器传递数据很简单,只需要在发送广播前将数据put进Intent中就行了. 广播接收器怎么向Activity传送数据?这里要用到接口,通过在广播接收器里定义一个接口,然后让接收 ...
- Android广播接收器里弹出对话框
不多说,直接上车... public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(fina ...
- Android广播接收器BroadcastRceiver
一.使用BroadcastRceiver 1.创建BroadcastRceiver(MyRceiver),重写OnReceiver: public void onReceive(Context con ...
随机推荐
- EOF 空格问题
mysql -u $USER -p${PASSWORD} $DATABASE << EOF >/tmp/dd-$$ 2>/tmp/ddd-$$select *from $TAB ...
- javascript原生ajax;
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js获取手机重力感应api
<html> <head> <title>DeviceOrientationEvent</title> <meta charset="U ...
- cocos2d-x创建场景
今天开始学习Cocos2d-x,使用的版本是2.1.4,这个版本比较老,对应的参考资料也比较齐全. 在mac/xcode环境下,代码是写在Classes文件夹下的,和iOS应用类似,程序从AppDel ...
- error while loading shared libraries: libevent-1.x.so.1
安装完memcache后启动报错(error while loading shared libraries: libevent-1.x.so.1) 这是由于64位linux会去/usr/lib64目录 ...
- 关于 FPGA 和 外部芯片接口时序设计
在看这篇文章之前, 建议先好好读下这篇文章.http://download.csdn.net/detail/angelbosj/8013827. 因为我不太会用 VISio.要是哪位网友能告诉我.怎么 ...
- oracle超过最大游标数异常分析(转贴)
问题描述 Oracle 使用 OPEN_CURSORS 参数指定一个会话一次最多可以打开的游标的数量.超过此数量时,Oracle 将报告 ORA-01000 错误.当此错误传播到 WebLogic S ...
- WPF datagrid 初学
<Window x:Class="WpfDemo.WinDataGrid" xmlns="http://schemas.microsoft.com/winfx/20 ...
- oracle 11g常用命令
1.监听启动监听lsnrctl start停止监听 lsnrctl stop 查看监听状态 lsnrctl status 2.启动用oracle用户进入su - oracle运行sqlplus命令,进 ...
- hadoop 配置文件注意问题
一定要配置成hostname形式: 如伪分布:配成localhost:9000 完全分布:配成big1:9000