文档章节

ACTION_TIME_TICK不能用于静态注册的原因

猴亮屏
 猴亮屏
发布于 2017/05/08 23:19
字数 333
阅读 21
收藏 0

3.注意:ACTION_TIME_TICK不能用于静态注册,原因为:

1.提高系统效率:这两个事件是Android的基本事件,如果大多数程序监听,会大大的拖慢整个系统,所以android不鼓励我们在后台监听这两个事件。 
2.因为有序广播的优先级问题。以上这些广播中,静态注册时,系统的优先级大于应用,并且系统阻止了广播的向下传播。又因在Android 的广播机制中,动态注册的优先级是要高于静态注册优先级的。故用动态注册代替静态注册。 
3.系统安全问题。

4.不能静态注册的广播还有以下几个:

android.intent.action.SCREEN_ON 
android.intent.action.SCREEN_OFF 
android.intent.action.BATTERY_CHANGED 
android.intent.action.CONFIGURATION_CHANGED

5.解决方式(以android.intent.action.SCREEN_ON为例): 
动 态注册不能放到activity中,因为动态注册必须要在activity消亡的时候调用unregisterReceiver,会随着activity 的解锁消失而不能再接收广播。一般的办法是在activity起来后马上start一个service,这个service里动态注册一 个broadcastreceiver,broadcastreceiver里接收到SCREEN_ON消息后启动锁屏activitty 为了保证 broadcastreceiver任何时候都可以接收到SCREEN_ON,service必须常驻在系统内,所以要接收开机消息 android.intent.action.BOOT_COMPLETED。

本文转载自:http://blog.csdn.net/wuqingyidongren/article/details/51899201

共有 人打赏支持
猴亮屏

猴亮屏

粉丝 36
博文 531
码字总数 57346
作品 4
北京
Android工程师
私信 提问
android 捕获Home键和ACTION_TIME_TICK广播

捕获方法说明 1.Intent.ACTIONCLOSESYSTEMDIALOGS和Intent.ACTIONTIME_TICK不能再Manifest中注册使用,必须在程序中动态注册 2.Intent.ACTIONTIMETICK按照时钟刻度,即开始下一分钟时自动发送...

IamOkay
2014/11/23
0
0
android 数字时间的刷新

今天在做项目的时候,需要加入时钟的应用,想起以前开发的锁屏小应用中也用到了时间显示,当时是用线程来刷新,但是效果不是很好,很容易卡顿,也有时候和系统时间不一致,感觉很怪异。今天又...

程序袁_绪龙
2015/01/12
0
0
Android SERVICE后台服务进程的自启动和保持

Android SERVICE后台服务进程的自启动和保持 2012-12-27 10:30 佚名 eoeAndroid 我要评论(0) 字号:T | T Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责...

zhouw
2014/03/29
0
0
Android SERVICE后台服务进程的自启动和保持

Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责处理一些必要(见不得人)的任务。而一些安全软件,如360等,会有结束进程的功能,如果不做Service的保持,...

simpower
2014/08/31
0
0
Android SERVICE后台服务进程的守护

Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责处理一些必要(见不得人)的任务。而一些安全软件,如360等,会有结束进程的功能,如果不做Service的保持,...

天下杰论
2014/11/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 世界的源代码

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @小鱼丁 :#今日歌曲推荐# 分享Jason Mraz的单曲《Prettiest Friend (Demo)》: 《Prettiest Friend (Demo)》- Jason Mraz 手机党少年们想听歌...

小小编辑
今天
70
5
java框架学习日志-13(Mybatis基本概念和简单的例子)

在mybatis初次学习Mybatis的时候,遇到了很多问题,虽然阿里云的视频有教学,但是视频教学所使用的软件和我自己使用的软件不用,我自己用的数据库是oracle数据库,开发环境是idea。而且视频中...

白话
今天
10
0
Java基础:String、StringBuffer和StringBuilder的区别

1 String String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。 String类的包含如下定义: /** The value is used for character storage. */private final cha...

watermelon11
今天
6
0
mogodb服务

部署MongoDB 官网: https://www.mongodb.com/download-center/community 创建mongo数据目录 mkdir /data/mongodb 二进制部署 wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x8......

以谁为师
昨天
5
0
大神教你Debian GNU/Linux 9.7 “Stretch” Live和安装镜像开放下载

Debian项目团队于昨天发布了Debian GNU/Linux 9 "Stretch" 的第7个维护版本更新,重点修复了APT软件管理器中存在的安全漏洞。在敦促每位用户尽快升级系统的同时,Debian团队还发布了Debian ...

linux-tao
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部