android 60 Android Broadcast生命周期及注册机制
来源:互联网 发布:vue 使用touch.js 编辑:程序博客网 时间:2024/05/16 09:52
广播的生命周期:
广播接收器仅在它执行这个方法时处于活跃状态。当 onReceive() 返回后,它即为失活状态。
拥有一个活跃状态的广播接收器的进程被保护起来而不会被杀死,但仅拥有失活状态组件的进程则会在其它进程需要它所占有的内存的时候随时被杀掉。 所以,如果响应一个广播信息需要很长的一段时 间,我们一般会将其纳入一个衍生的线程中去完成,而不是在主线程内完成它,从而保证用户交互过程的流畅。
注册BroadcastReceiver两种方式:
方式一,静态的在AndroidManifest.xml中用<receiver>标签声明注册,并在标签内用<intent- filter>标签设置过滤器。
方式二,动态地在代码中先定义并设置好一个 IntentFilter对象,然后在需要注册的地方调 Context.registerReceiver()方法,如果取消时就调用Context.unregisterReceiver()方法。如果用动 态方式注册的BroadcastReceiver的Context对象被销毁时,BroadcastReceiver也就自动取消注册了。
另外,若在使用sendBroadcast()的方法是指定了接收权限,则只有在AndroidManifest.xml中用<uses- permission>标签声明了拥有此权限的BroascastReceiver才会有可能接收到发送来的Broadcast。同样,若在注册 BroadcastReceiver时指定了可接收的Broadcast的权限,则只有在包内的AndroidManifest.xml中 用<uses-permission>标签声明了,拥有此权限的Context对象所发送的Broadcast才能被这个 BroadcastReceiver所接收。
动态注册:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(String); 为BroadcastReceiver指定action,使之用于接收同action的广播 registerReceiver(BroadcastReceiver,intentFilter);
一般在onStart中注册,onStop中取消unregisterReceiver 发送广播消息 。指定广播目标Action:Intent Intent = new Intent(action-String)指定了此action的receiver会接收此广播。
- Android Broadcast生命周期及注册机制
- Android Broadcast生命周期及注册机制
- android 60 Android Broadcast生命周期及注册机制
- android 4.4中broadcast 注册机制变化
- Android Broadcast注册过程
- Android Broadcast广播注册和发布方式以及机制流程
- Android Broadcast机制
- Android 广播机制---BroadCast
- Android 广播机制 Broadcast
- android broadcast机制
- android广播机制Broadcast
- 【Android】广播机制 Broadcast
- Android Broadcast机制
- Android广播机制 Broadcast
- android Broadcast 生命周期详细分析
- android 107--Broadcast的生命周期
- android Broadcast 生命周期详细分析
- android Broadcast 生命周期详细分析 .
- android自定義滑動启動和關閉按鈕
- ihelper使用方法及功能介绍
- android 59 Service
- hadoop 关闭文件权限检查和safemode
- MySQL数据库性能优化之存储引擎选择
- android 60 Android Broadcast生命周期及注册机制
- 自动计算数值个数不固定的数的平均数
- 毕设 !!!(红色代码为电机控制,为什么按下按键电机转动一段时间以后,自己又停了呢,理论上不按停止应该一直转啊???!!!)
- 怎样用USB的优盘让电脑开机,像钥匙似的
- android 61用好 BroadcastReceiver
- 信号可靠与不可重入函数
- android 62Android程序开发入门——组件生命周期之Broadcast receiver
- Ubuntu 12.04中文输入法的安装
- 【JAVA基础】0007--------最全的文件MIME类型