adb检测屏幕是否锁屏的判断方式
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检测屏幕是否锁屏的判断方式相关推荐
- android 监听屏幕是否锁屏
今天,简单讲讲如何监听手机屏幕是否锁屏. 实现方法:1)通过BroadcastReceiver接收广播Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF可 ...
- android 12去掉屏幕锁屏(屏幕默认锁屏方式改成无)
需求:在11.0 12.0定制化开发中,需求要求去掉屏幕锁屏功能,默认无锁屏功能,所以要去掉系统默认锁屏功能 一共分两步: a.在SettingProvider数据库加载时默认无锁屏 b.去掉Sett ...
- android7.0 8.1 9.0 10.0 去掉屏幕锁屏(屏幕默认锁屏方式改成无)
1.概述 在10.0的系统产品开发中,系统在开机后会默认进入锁屏界面,但是产品需求要求去掉锁屏方式,默认无锁屏,就是需要实现去掉屏幕锁屏功能 2.去掉屏幕锁屏(屏幕默认锁屏方式改成无)的核心类 fra ...
- android 11.0 12.0去掉屏幕锁屏(屏幕默认锁屏方式改成无)
1.概述 在11.0 12.0定制化开发中,需求要求去掉屏幕锁屏功能,默认无锁屏功能,所以要去掉系统默认锁屏功能 分两步: 1.1在SettingProvider数据库加载时默认无锁屏 1.2去掉Se ...
- iOS 调整屏幕亮度,设置屏幕不锁屏
//调整屏幕亮度 UIScreen里面有个属性brightness(取值范围为0-1)可以调整屏幕亮度 具体用法 [UIScreen mainScreen].brightness = 0.9; 或 [ ...
- android锁屏密码文件夹,深入理解Android M 锁屏密码存储方式
Android M 之前锁屏密码的存储 在 Android M 之前,锁屏密码的存储格式很简单,其使用了 64 位随机数作为 salt 值,此 salt 值被存储在 sqlite 数据库 /data/ ...
- java修改手机锁屏密码,深入理解Android M 锁屏密码存储方式
Android M 之前锁屏密码的存储 在 Android M 之前,锁屏密码的存储格式很简单,其使用了 64 位随机数作为 salt 值,此 salt 值被存储在 SQLite 数据库 /data/ ...
- iOS 判断屏幕是否锁屏
测试环境:iOS6.1 device:iphone5 获取锁屏方式区分为2种方式: 第一种(需越狱): if ([[objc_getClass("SBAwayController" ...
- android9.0去掉默认的锁屏界面和屏幕超时锁屏
目录 1. 修改SystemUI 2.设置屏幕超时时间为最大值不休眠实现 3.android 命令行settings进行相关设置项的修改 1. 修改SystemUI 将android/framewor ...
最新文章
- Ajax(jquery)
- SYBASE中生成所有建表语句的过程
- 设计趋势|几何元素增加Banner版面率
- “不要羡慕别人,因为你所看到的,都是表象”你怎么看?
- 小程序入门学习15---数据库实战01
- 20200224:跳跃游戏(leetcode55)
- php7安装redis扩展和memcache扩展
- MVC.NET:提供对字体文件.woff的访问
- yarn-cluster 和yarn-client区别
- 由php nginx 出现 500错误的启示
- 博弈论开发工具Gambit的Python包安装
- 计算机考研培训中公,计算机408
- win7做ftp服务器是否稳定,win7可以做ftp服务器吗
- vue前端实现语音提示功能
- IJCAI2021 | 基于图学习的推荐系统最新综述
- matlab gazebo,ROS与Matlab语言入门教程-从Gazebo读取模型和仿真性能
- linux sudo命令全称,你知道Linux系统中的sudo 命令吗?
- [译] 讨论 JS ⚡:文档
- python 协程库_python --- 协程编程(第三方库gevent的使用)
- 微信小程序-UI控件的使用(1)
热门文章
- 计算机语言讲解免疫系统,计算机语言与人类语言的互相渗透
- 【雷雨佳的个人介绍】
- 关于深度学习(deep learning)的常见疑问 --- 谷歌大脑科学家 Caffe缔造者 贾扬清
- SSD 驱动ssw101b 无线wifi
- LoRaWAN网关组网简介
- 英伟达ASIC实习生面试 [IC]
- 二开扫码点单仿Hlens
- 看门狗子程序 c语言,X25045看门狗电路硬件连接图及C语言看门狗程序
- Javascript核心技术的基础语法
- mysql我没压岁钱了_2021你压没压我睡没睡我表情包动图下载-抖音你压没压我睡没睡我该不该给我压岁钱表情包gif版-东坡下载...