android.intent.action.USER_PRESENT的接收与使用
来源:互联网 发布:想你所想 知你所需 编辑:程序博客网 时间:2024/05/06 03:26
在做解锁监听程序时,一开始采用监听屏幕SCREEN_ON和SCREEN_OFF这两个action。但奇怪的是,这两个action只能通过代码动态的形式注册,才能被监听到,使用AndroidManifest.xml 完全监听不到。百度后发现这是PowerManager那边在发这个广播的时候做了限制,限制只能有register到代码中的receiver才能接收。
后来就找各种能静态注册AndroidManifest.xml同时能反映用户解锁行为的广播.于是找到android.intent.action.USER_PRESENT.
每个用户隔一段时间重新开始使用手机时,首先按电源键点亮屏幕,紧接着解锁。android.intent.action.USER_PRESENT就是解锁时发出的intent.
于是,监听android.intent.action.USER_PRESENT就能识别用户进入home界面,进而启动想启动的相关服务,包括弹出对话框welcome用户\后台启动程序升级服务等等。
AndroidManifest.xml文件中注册代码
1
<receiver android:name=
".ActionReceiver"
>
2
<intent-filter android:priority=
"90000"
>
3
<action android:name=
"android.intent.action.USER_PRESENT"
/>
4
</intent-filter>
5
</receiver>
这个intent的说明文档是:
public static final String ACTION_USER_PRESENT
Since: API Level 3
Broadcast Action: Sent when the user is present after device wakes up (e.g when the keyguard is gone).
This is a protected intent that can only be sent by the system.
Constant Value: "android.intent.action.USER_PRESENT"
翻译过来就是:
注意这个action只能有系统发出,是在用户唤醒机器的时候才会发出这种action.
另外, 真的屏幕解锁的时候触发这个广播,而我们接收这个广播会受好多条件的制约。
比如有些第三方桌面不会真正的锁屏,360,LBE等安全软件对广播的拦截等等.
比如有些第三方桌面不会真正的锁屏,360,LBE等安全软件对广播的拦截等等.
0 0
- android.intent.action.USER_PRESENT的接收与使用
- 关于intent之android.intent.action.USER_PRESENT的接收与使用
- 关于intent之android.intent.action.USER_PRESENT的接收与使用
- 关于intent中android.intent.action.USER_PRESENT的说明
- 监听屏幕 android.intent.action.USER_PRESENT
- android广播接收器 接收广播的Intent Action 事件类型
- android Intent.ACTION使用
- android.intent.action.MAIN与android.intent.category的作用
- android.intent.action.MAIN与android.intent.category 的区别
- 关于android.intent.action的使用
- Android的Intent,Action
- 安卓中android.intent.action.CALL与android.intent.action.DIAL的区别
- Android的Intent与Intent Filter使用
- android Intent.Action 使用笔记
- Android应用接收开机广播(android.intent.action.BOOT_COMPLETED)失败的原因
- android.intent.action.SCREEN_ON与android.intent.action.SCREEN_OFF
- Android4.2中应用接收开机广播(android.intent.action.BOOT_COMPLETED)失败的原因
- Android4.2中应用接收开机广播(android.intent.action.BOOT_COMPLETED)失败的原因
- 查看局域网内某一电脑的ip地址
- 从windows拷贝文件到linux服务器上
- 利用OpenCV实现旋转文本图像矫正的原理及OpenCV代码
- 界面原型创建工具Axure使用教程之一:基本操作
- 黑马程序员-(多线程)了解线程与如何解决线程同步到来的安全问题!(面试)
- android.intent.action.USER_PRESENT的接收与使用
- echarts-多柱子柱状图
- 大数据,云计算 核心体系
- 代码块概述
- 在虚拟机Vmware给ubuntu添加新硬盘
- 好东西传送门
- Word文档《Document SAFER 2》
- 自然语言处理中的Attention Model:是什么及为什么
- eclipse生成jar包