python3:判断手机的亮屏状态

在用python对手机做一些自动化操作时,常常会判断手机的亮屏状态,知晓手机的亮屏状态后才好做进一步的动作,如给屏幕解锁等。 
用于了解手机的亮屏情况,有一个adb命令可用:

adb shell dumpsys window polic

分别在灭屏和亮屏的情况下run这个adb command,看打印出的info有何不同?

从图中可看出, 亮屏和灭屏的状态,有几行是有明显不一样的。任挑一行用来作为check数据都是可以的,为了简便,我们挑最明显最短的:

mAwake=false为详细明了解checkpoint这一行的确定值,我们还是打其打印出来看看,因为有些字符看不了。怎么看?我们其它以下这句将打印的内容变成一个列表并打印查看详细的结果:

1. list = os.popen(‘adb shell dumpsys window policy‘).readlines()

2. print(list)

会发现这一行的内容为:‘    mAwake=false\n‘, 而不是‘mmAwake=false‘,
好,找到checkpoint了就好了,函数写起来。

import os

def isAwaked(deviceid = ‘‘):
    ‘‘‘
    判断的依据是‘    mAwake=false\n‘
    ‘‘‘
    if deviceid == ‘‘:
        cmd = ‘adb shell dumpsys window policy‘
    else:
        cmd = ‘adb -s ‘ + deviceid + ‘ shell dumpsys window policy‘
    screenAwakevalue = ‘    mAwake=true\n‘
    allList = os.popen(cmd).readlines()
    if screenAwakevalue in allList:
        return True
    else:
        return False
 
if __name__ == ‘__main__‘:
    if isAwaked() == True:
        print(‘屏幕已点亮。‘)
    else:
        print(‘屏幕已灭屏。‘)
-----------------------------------------------------

 


原文地址:https://www.cnblogs.com/hyf20131113/p/10919556.html

时间: 2024-10-10 16:29:21

python3:判断手机的亮屏状态的相关文章

安卓手机来电亮屏流程分析

来电亮屏流程分析 本文档是针对手机来电时候自主点亮屏幕这一流程的分析,很自然的就将其分为2个阶段,第一个是来电,第二个是点亮屏幕. 来电的流程: 来电消息是从RIL层接收到的,然后才开始传递上来. AT      : RING AT      : AT< RING AT      : RIL_URC_READER:RING AT      : RIL_URC_READER Enter processLine use-Rlog/RLOG-RIL: Nw URC:RING use-Rlog/RLOG

Android让手机主动亮屏的代码

我们在做电子阅读器的时候可能会要求屏幕保持常亮,不希望它熄灭.它的原理也是利用系统服务,来操纵底层设备. 一.系统服务——PowerManager PowerManager.java就是管理我们电源方面的功能的,当然也包括我们屏幕的亮和熄灭. PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); PowerManager pm = (PowerManager)getSystemService(POWER

CSS3判断手机横屏竖屏

原理: 当用户旋转屏幕的时候,会进入到你的监听方法中,然后通过window.orientation来获取当前屏幕的状态:0 - 竖屏90 - 逆时针旋转横屏-90 - 顺时针旋转横屏180 - 竖屏,上下颠倒 如果你不希望用户使用横屏方式查看你的网页,你可以在设备旋转时间监听里面对body使用CSS3里面的transition中的旋转来保持页面竖向. 移动设备上的页面,当屏幕旋转的时候会有一个orientationchange事件.你可以给body元素增加此事件的监听: <body onorie

基于zepto判断mobile的横竖屏状态

借用jquery mobile中的代码,删除了一些多余的部分,简单的基于zepto的模块 var CheckOrientation = (function(){ var win = $( window ), get_orientation, last_orientation, initial_orientation_is_landscape, initial_orientation_is_default, portrait_map = { "0": true, "180&qu

js控制手机保持亮屏的库,解决h5移动端,自动息屏问题

一些说明:我用Laya(ts)开发小游戏,有需要保持手机屏幕常亮的需求(非必须的),然后作为小白的我就在网上找到了这个库,大概了解下,应该是通过播放空视频的原理来保持手机屏幕常亮,然后就放到项目中试了下,确实是有用的,能达到屏幕常亮的效果,可惜就是fps从稳定的60帧变为40(或者更低)-60之间摇摆不定,画面很卡,看来我这个游戏是用不了,要找下别的方法,也或者是我使用不当,不过感觉这个库还是很厉害,故记录分享下,转载地址:https://github.com/richtr/NoSleep.js

touchstart,touchmove判断手机中滑屏方向

滑动屏幕    touchstart:接触屏幕时触发,touchmove:活动过程触发,touchend:离开屏幕时触发 首先获取手接触屏幕时的坐标X,Y //获取接触屏幕时的X和Y$('body').bind('touchstart',function(e){ startX = e.originalEvent.changedTouches[0].pageX, startY = e.originalEvent.changedTouches[0].pageY; }); 然后获取滑动的坐标,并使用后

检测手机屏幕是否亮屏解锁

通过adb命令获取手机是否锁屏状态,可以通过下面指令:1.adb shell dumpsys window policy^|grep isStatusBarKeyguard2.adb shell dumpsys window policy^|grep mShowingLockscreen 运行第1条命令,获取到结果,如下: isStatusBarKeyguard=false mFocusedWindow=Window{3c2b801 u0 com.tencent.mm/com.tencent.m

Javascript 判断手机横竖屏状态

判断手机横竖屏状态: <script type=”text/javascript”> function hengshuping(){ if(window.orientation==180||window.orientation==0){ alert(“竖屏状态!”) } if(window.orientation==90||window.orientation==-90){ alert(“横屏状态!”) } } window.addEventListener(“onorientationcha

判断手机横竖屏

//判断手机横竖屏状态:window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() { if (window.orientation === 180 || window.orientation === 0) { //竖屏 } if (window.orientation === 90 || window.o