按下电源按键后屏幕关闭的log如下:
D/WindowManager(  250): interceptKeyTq keycode=26 screenIsOn=true keyguardActive=false
I/power   (  250): *** set_screen_state 0
D/SurfaceFlinger(   87): About to give-up screen, flinger = 0x1671960
E/libEGL  (   87): validate_display:188 error 3008 (EGL_BAD_DISPLAY)
I/PowerManagerService(  250): setScreenState: screen_state=false mPartialCount=0err=0
D/Sensors (  250): PlsSensor::enable en=0; newState=0; what=0; mEnabled=1
D/Sensors (  250): PlsSensor::enable what=0; flags=0; err=0
D/Sensors (  250): PlsSensor::mEnabled=0x0
V/PowerManagerService(  250): unregisterListener mLightListenerKB
D/KeyguardViewMediator(  250): onScreenTurnedOff(2)
D/KeyguardViewMediator(  250): onScreenTurnedOff : doKeyguardLocked is run !
D/KeyguardViewMediator(  250): doKeyguard: showing the lock screen
D/KeyguardViewMediator(  250): showLocked
I/PowerManagerService(  250): mLocks 01sleep_broadcast
D/PowerManagerService(  250): acquireWakeLock flags=0x1 tag=sleep_broadcast
D/PowerManagerService(  250): acquireWakeLock flags=0x1 tag=show keyguard
I/WindowManager(  250): PhoneWindowManager screenTurnedOff is run and why =2

打电话时p-sensor被遮挡后屏幕关闭的log如下:
D/Sensors (  250): PlsSensor: mPendingEvents[Proximity].distance = 0.000000
I/power   (  250): *** set_screen_state 0
I/PowerManagerService(  250): setScreenState: screen_state=false mPartialCount=2err=0
I/PowerManagerService(  250): mLocks 032MsmsPhoneApp
I/PowerManagerService(  250): mLocks 11EmergencyCallHelper
I/PowerManagerService(  250): mLocks 21GSM
I/PowerManagerService(  250): mLocks 3268435482MsmsPhoneApp
D/SurfaceFlinger(   87): About to give-up screen, flinger = 0x1671960
E/libEGL  (   87): validate_display:188 error 3008 (EGL_BAD_DISPLAY)
D/Sensors (  250): PlsSensor::enable en=0; newState=0; what=0; mEnabled=3
D/Sensors (  250): PlsSensor::enable what=0; flags=0; err=0
D/Sensors (  250): PlsSensor::mEnabled=0x2
V/PowerManagerService(  250): unregisterListener mLightListenerKB
I/PowerManagerService(  250): mLocks 032MsmsPhoneApp
I/PowerManagerService(  250): mLocks 11EmergencyCallHelper
I/PowerManagerService(  250): mLocks 21GSM
I/PowerManagerService(  250): mLocks 3268435482MsmsPhoneApp
D/KeyguardViewMediator(  250): onScreenTurnedOff(4)
D/PowerManagerService(  250): acquireWakeLock flags=0x1 tag=sleep_broadcast
I/WindowManager(  250): PhoneWindowManager screenTurnedOff is run and why =4

我们可以看到每次屏幕关闭都会调用到D/KeyguardViewMediator(  250): onScreenTurnedOff(*)
根据这里的参数,我们便可以知道每次屏幕关闭时是基于什么原因
以下是每个数字的含义
~/mywork/403-sync/frameworks/base/core/java/android/view/WindowManagerPolicy.java
 416     // NOTE: screen off reasons are in order of significance, with more
 417     // important ones lower than less important ones.
 418     
 419     /** Screen turned off because of a device admin */
 420     public final int OFF_BECAUSE_OF_ADMIN = 1;
 421     /** Screen turned off because of power button */
 422     public final int OFF_BECAUSE_OF_USER = 2;
 423     /** Screen turned off because of timeout */
 424     public final int OFF_BECAUSE_OF_TIMEOUT = 3;
 425     /** Screen turned off because of proximity sensor */
 426     public final int OFF_BECAUSE_OF_PROX_SENSOR = 4;
 427

打电话时p-sensor的遮挡移除后屏幕点亮的log如下:
D/Sensors (  250): PlsSensor: mPendingEvents[Proximity].distance = 1.000000
I/power   (  250): *** set_screen_state 1
I/PowerManagerService(  250): setScreenState: screen_state=true mPartialCount=2err=0
I/PowerManagerService(  250): mLocks 032MsmsPhoneApp
I/PowerManagerService(  250): mLocks 11EmergencyCallHelper
I/PowerManagerService(  250): mLocks 21GSM
I/PowerManagerService(  250): mLocks 3268435482MsmsPhoneApp
D/Sensors (  250): PlsSensor::enable en=1; newState=1; what=0; mEnabled=2
D/Sensors (  250): PlsSensor::enable what=0; flags=1; err=0
D/Sensors (  250): PlsSensor::mEnabled=0x3
V/PowerManagerService(  250): registerListener mLightListenerKB
I/PowerManagerService(  250): mLocks 032MsmsPhoneApp
I/PowerManagerService(  250): mLocks 11EmergencyCallHelper
I/PowerManagerService(  250): mLocks 21GSM
I/PowerManagerService(  250): mLocks 3268435482MsmsPhoneApp
D/KeyguardViewMediator(  250): onScreenTurnedOn, seq = 2
D/KeyguardViewMediator(  250): notifyScreenOnLocked
D/KeyguardViewMediator(  250): handleNotifyScreenOn
D/PowerManagerService(  250): acquireWakeLock flags=0x1 tag=sleep_broadcast
I/WindowManager(  250): No lock screen!
D/InCallScreen(  603): onResume()...
D/InCallUiState(  603): dumpState():
D/InCallUiState(  603):   - showDialpad: false
D/InCallUiState(  603):   - pending call status code: none
D/InCallUiState(  603):   - progressIndication: NONE
D/InCallUiState(  603):   - provider overlay: none
D/InCallUiState(  603):   - latestActiveCallOrigin: com.android.contacts.activities.DialtactsActivity
D/PhoneApp(  603): setIgnoreTouchUserActivity(true)...
D/NotificationMgr(  603): updateStatusBar: state = 0x50000
D/NotificationMgr(  603): updateInCallNotification(allowFullScreenIntent = false)...
D/TD      (  603): VideoCT: IDLE CT: OFFHOOK
D/TD      (  603): VideoCT: IDLE CT: OFFHOOK
D/TD      (  603): VideoCT: IDLE CT: IDLE

屏幕关闭原因以及p-sensor相关推荐

  1. 台式计算机关闭屏幕快捷键,多种电脑屏幕关闭方法推荐

    有时因为需要节约电脑电量,有时因为为避免同事窥屏,有时由于顾及后台运行任务进程诸如听歌.电脑磁盘碎片整理等多种原因,这些均促使我们需要关闭电脑屏幕. 无论基于何种原因促使我们关闭电脑屏幕,总的来说其并 ...

  2. android屏幕关闭屏幕,如何在设备进入睡眠模式(屏幕关闭)时显示屏幕android?...

    嗨我需要显示屏幕时,手机进入睡眠模式,即屏幕关闭模式.我用白日梦,但问题是,它只适用于充电!如何在设备进入睡眠模式(屏幕关闭)时显示屏幕android? 但我的要求是,即使手机进入睡眠模式(没有充电) ...

  3. .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态

    在 Windows 系统中,一段时间不操作键盘和鼠标,屏幕便会关闭,系统会进入睡眠状态.但有些程序(比如游戏.视频和演示文稿)在运行过程中应该阻止屏幕关闭,否则屏幕总是关闭,会导致体验会非常糟糕. 本 ...

  4. surface屏幕闪烁重影_如何解决surface重影surfacepro4屏幕抖动原因

    如何解决surface重影surfacepro4屏幕抖动原因,北京蓝伟博达当场维修,全程观看,触摸屏破裂维修,触摸面板失灵,无功能维修:平板电脑屏幕更换  Surface. 触摸屏更换.液晶显示屏更换 ...

  5. android刷广告,android – 广告不可见.没有刷新广告.屏幕关闭后

    我注意到屏幕关闭后我收到以下消息: I/Ads﹕ Ad is not visible. Not refreshing ad. I/Ads﹕ Scheduling ad refresh 60000 mi ...

  6. android屏幕关闭,在Android上关闭屏幕

    对我来说,这些方法不起作用.所以我使用其他场景(不是微不足道)来关闭我的屏幕. Android有2个标志,负责清醒: 显示 - >屏幕TimeOut 应用程序 - >开发 - > 充 ...

  7. 电脑屏幕上计算机闪烁有框,台式电脑屏幕闪烁原因及处理方法

    台式电脑屏幕闪烁原因及处理方法 导语:当我们用电脑的时候,你的电脑屏幕总是闪个不停,这样的话不仅影响正常上网,还会对我们的眼睛造成不好的影响,那么,如果是碰到这种情况我们应该怎么办?什么情况下会出现这 ...

  8. MQ异常 关闭原因 = 2009[个人收藏 他人求助及回答]

    1#-问 请教各位大虾: 客户端连接到队列管理器所在的服务器进行消息接收时,如果长时间该队列中一直没有消息可以取,但是客户接收程序还继续运行,过一段时间MQ就会报如下异常: com.ibm.mqser ...

  9. android 点击屏幕关闭软键盘

    //点击屏幕 关闭输入弹出框 @Override public boolean onTouchEvent(MotionEvent event) {InputMethodManager im = (In ...

最新文章

  1. 关于umask和 find命令
  2. 组合模式用于分类设计子叶与枝干时候太好用了
  3. 第二章:二分和前缀和 【完结】
  4. Linux系统中df与du命令查看分区大小
  5. HTTP深入浅出个人总结
  6. kali怎么进入root用户_linux中怎么进入root用户
  7. 尚硅谷python全套-尚硅谷Java视频教程,粉丝无数,人手一套尚硅谷教程
  8. dev 域名与 Chrome
  9. 算法:匹配有效的括号20. Valid Parentheses
  10. java框架常见的面试题
  11. Sophix及热修复原理介绍
  12. 2017年11月19日实验感想
  13. 汇编语言(第四版)(个人复习点)
  14. ubuntu硬盘序列号怎么查询_linux查看设备和硬盘序列号 ip mac地址
  15. 最新解决百度网盘不限速方法
  16. C 进阶内存四区(3)
  17. Android SDK版本以及对应的平台版本、版本名称
  18. 好程序员Java分享MySQL之SQL入门(一)
  19. ARM Linux设备树
  20. Flink中subTask,并行度,slot你分得清吗?

热门文章

  1. 论文翻译-Hamming OCR A Locality Sensitive Hashing Neural Network for Scene Text Recognition
  2. ITILv4 MP认证以及证书展示
  3. SpringBoot自动装配流程
  4. 网络对抗技术_实验四_恶意代码技术
  5. dnf剑魂buff等级上限_DNF剑魂职业定位、装备、加点、猴戏、新老换装详解
  6. Android依赖arr包 gradle7.0
  7. 3.23早间BTC/ETH急剧回踩,短暂拉升等机会
  8. Vue 3.0终于来了!官方凌晨开源代码,导读一波
  9. picpick尺子像素大小精度不够准确_picpick尺子像素大小精度不够准确_【论文解读】像素级分割里程碑算法——FCN全卷积神经网络......
  10. 大数据之数据清洗之爬取数据后如何根据地名或者公司名获取经纬度信息-地址逆解析经纬度