android-用ACTION_USER_PRESENT替换ACTION_SCREEN_ON吗?
作者:互联网
我有一个长期运行的服务,正在监听传感器输入.为了节省电池电量,我在ACTION_SCREEN_OFF上停止了对传感器的采样,并在ACTION_SCREEN_ON上再次开始对其进行备份.
但是,通常,我只是打开手机以快速浏览锁定屏幕上的时钟(以检查当前时间),然后在不解锁手机的情况下再次关闭手机.在这种情况下,没有理由旋转传感器只是为了关闭然后立即关闭.
因此,我尝试在广播侦听器中将ACTION_SCREEN_ON替换为ACTION_USER_PRESENT.除一种特殊情况外,此方法运行良好:当屏幕关闭并且我立即按下电源按钮(或主页按钮)时,将跳过锁定屏幕.然后,从不接收ACTION_USER_PRESENT,仅接收ACTION_SCREEN_ON.
在收到ACTION_SCREEN_ON之后,我的广播接收器是否有办法知道屏幕锁定是否处于活动状态,并希望稍后再进行一次ACTION_USER_PRESENT?或者,如果跳过了锁定屏幕,不要等待ACTION_USER_PRESENT并继续并立即重新开始采样?
解决方法:
直到Android 4.4,如果打开了屏幕并且禁用了锁定屏幕,则只会触发ACTION_SCREEN_ON. Frm Android 5.0,在这种情况下,将同时触发ACTION_SCREEN_ON和ACTION_USER_PRESENT.
标签:android-sensors,android 来源: https://codeday.me/bug/20191207/2087541.html