adb检测屏幕是否锁屏的判断方式

通过adb shell dumpsys window policy 查看屏幕状态

1、亮屏且有锁 showing=true和 screenState=SCREEN_STATE_ON

KeyguardServiceDelegateshowing=trueshowingAndNotOccluded=trueinputRestricted=falseoccluded=falsesecure=truedreaming=falsesystemIsReady=truedeviceHasKeyguard=trueenabled=trueoffReason=OFF_BECAUSE_OF_USERcurrentUser=-10000bootCompleted=truescreenState=SCREEN_STATE_ON

2、灭屏且有锁 showing=true和 screenState=SCREEN_STATE_OFF

KeyguardServiceDelegateshowing=trueshowingAndNotOccluded=trueinputRestricted=falseoccluded=falsesecure=truedreaming=falsesystemIsReady=truedeviceHasKeyguard=trueenabled=trueoffReason=OFF_BECAUSE_OF_TIMEOUTcurrentUser=-10000bootCompleted=truescreenState=SCREEN_STATE_OFF

3、亮屏且无锁 showing=false和screenState=SCREEN_STATE_ON

KeyguardServiceDelegateshowing=falseshowingAndNotOccluded=trueinputRestricted=falseoccluded=falsesecure=truedreaming=falsesystemIsReady=truedeviceHasKeyguard=trueenabled=trueoffReason=OFF_BECAUSE_OF_TIMEOUTcurrentUser=-10000bootCompleted=truescreenState=SCREEN_STATE_ON

部分手机亮屏显示标识有区别 ,例如华为 screenState=2

KeyguardServiceDelegateshowing=falseshowingAndNotOccluded=trueinputRestricted=falseoccluded=falsesecure=truedreaming=falsesystemIsReady=truedeviceHasKeyguard=trueenabled=trueoffReason=2currentUser=-10000bootCompleted=truescreenState=2

代码

def is_screen_lock(id):# ----------------------# 检测屏幕是否被锁,不同于屏幕点亮, 判断亮屏请使用 adbutils.is_screen_on# ----------------------try:command = 'adb -s ' + id + " shell dumpsys window policy"result = os.popen(command)lines = result.readlines()loc_flag = 0for i in range(len(lines)):if 'KeyguardServiceDelegate'.strip() in lines[i]:loc_flag = i + 1if 'showing=true' in lines[loc_flag] and loc_flag != 0:return Trueelse:return Falseexcept Exception as e:print('获取手机lock状态异常',e)return False

adb检测屏幕是否锁屏的判断方式相关推荐

  1. android 监听屏幕是否锁屏

    今天,简单讲讲如何监听手机屏幕是否锁屏. 实现方法:1)通过BroadcastReceiver接收广播Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF可 ...

  2. android 12去掉屏幕锁屏(屏幕默认锁屏方式改成无)

    需求:在11.0 12.0定制化开发中,需求要求去掉屏幕锁屏功能,默认无锁屏功能,所以要去掉系统默认锁屏功能 一共分两步: a.在SettingProvider数据库加载时默认无锁屏 b.去掉Sett ...

  3. android7.0 8.1 9.0 10.0 去掉屏幕锁屏(屏幕默认锁屏方式改成无)

    1.概述 在10.0的系统产品开发中,系统在开机后会默认进入锁屏界面,但是产品需求要求去掉锁屏方式,默认无锁屏,就是需要实现去掉屏幕锁屏功能 2.去掉屏幕锁屏(屏幕默认锁屏方式改成无)的核心类 fra ...

  4. android 11.0 12.0去掉屏幕锁屏(屏幕默认锁屏方式改成无)

    1.概述 在11.0 12.0定制化开发中,需求要求去掉屏幕锁屏功能,默认无锁屏功能,所以要去掉系统默认锁屏功能 分两步: 1.1在SettingProvider数据库加载时默认无锁屏 1.2去掉Se ...

  5. iOS 调整屏幕亮度,设置屏幕不锁屏

    //调整屏幕亮度 UIScreen里面有个属性brightness(取值范围为0-1)可以调整屏幕亮度 具体用法 [UIScreen mainScreen].brightness = 0.9; 或 [ ...

  6. android锁屏密码文件夹,深入理解Android M 锁屏密码存储方式

    Android M 之前锁屏密码的存储 在 Android M 之前,锁屏密码的存储格式很简单,其使用了 64 位随机数作为 salt 值,此 salt 值被存储在 sqlite 数据库 /data/ ...

  7. java修改手机锁屏密码,深入理解Android M 锁屏密码存储方式

    Android M 之前锁屏密码的存储 在 Android M 之前,锁屏密码的存储格式很简单,其使用了 64 位随机数作为 salt 值,此 salt 值被存储在 SQLite 数据库 /data/ ...

  8. iOS 判断屏幕是否锁屏

    测试环境:iOS6.1 device:iphone5 获取锁屏方式区分为2种方式: 第一种(需越狱): if ([[objc_getClass("SBAwayController" ...

  9. android9.0去掉默认的锁屏界面和屏幕超时锁屏

    目录 1. 修改SystemUI 2.设置屏幕超时时间为最大值不休眠实现 3.android 命令行settings进行相关设置项的修改 1. 修改SystemUI 将android/framewor ...

最新文章

  1. Ajax(jquery)
  2. SYBASE中生成所有建表语句的过程
  3. 设计趋势|几何元素增加Banner版面率
  4. “不要羡慕别人,因为你所看到的,都是表象”你怎么看?
  5. 小程序入门学习15---数据库实战01
  6. 20200224:跳跃游戏(leetcode55)
  7. php7安装redis扩展和memcache扩展
  8. MVC.NET:提供对字体文件.woff的访问
  9. yarn-cluster 和yarn-client区别
  10. 由php nginx 出现 500错误的启示
  11. 博弈论开发工具Gambit的Python包安装
  12. 计算机考研培训中公,计算机408
  13. win7做ftp服务器是否稳定,win7可以做ftp服务器吗
  14. vue前端实现语音提示功能
  15. IJCAI2021 | 基于图学习的推荐系统最新综述
  16. matlab gazebo,ROS与Matlab语言入门教程-从Gazebo读取模型和仿真性能
  17. linux sudo命令全称,你知道Linux系统中的sudo 命令吗?
  18. [译] 讨论 JS ⚡:文档
  19. python 协程库_python --- 协程编程(第三方库gevent的使用)
  20. 微信小程序-UI控件的使用(1)

热门文章

  1. 计算机语言讲解免疫系统,计算机语言与人类语言的互相渗透
  2. 【雷雨佳的个人介绍】
  3. 关于深度学习(deep learning)的常见疑问 --- 谷歌大脑科学家 Caffe缔造者 贾扬清
  4. SSD 驱动ssw101b 无线wifi
  5. LoRaWAN网关组网简介
  6. 英伟达ASIC实习生面试 [IC]
  7. 二开扫码点单仿Hlens
  8. 看门狗子程序 c语言,X25045看门狗电路硬件连接图及C语言看门狗程序
  9. Javascript核心技术的基础语法
  10. mysql我没压岁钱了_2021你压没压我睡没睡我表情包动图下载-抖音你压没压我睡没睡我该不该给我压岁钱表情包gif版-东坡下载...