日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android shell检查是否锁屏_ADB获取手机屏幕的状态(点亮与否)以及ADB点击事件基本操作...

發布時間:2023/12/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android shell检查是否锁屏_ADB获取手机屏幕的状态(点亮与否)以及ADB点击事件基本操作... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、文檔概述

在對Android設備操作之前,經常需要通過adb獲取一些設備基本信息。尤其是在全自動運行過程中,盡量減少人工的干預。本文檔記錄了檢查手機屏幕的狀態以及解鎖的方式。

二、技術基礎

在項目開發過程中,會經常用到adb對設備進行操作或者獲取一些基本信息。其中對屏幕解鎖以及獲取屏幕狀態也是比較重要的。

已知的操作方式,通過adb命令模擬按鍵事件。

// 點亮屏幕

adb shell input keyevent 26

// 嘗試解鎖

adb shell input keyevent 82

通過adb按鍵事件可以實現基本的點亮屏幕以及基本的解鎖操作。現在存在一個問題,如何判斷什么時候需要點擊電源按鈕點亮屏幕呢?

三、實現細節

通過第二部分的描述,我們已經可以實現基本的操作,但是現在的問題在于什么情況下需要進行電源操作。

調試命令

關于屏幕的信息應該在這個命令內有描述。再結合:檢測手機屏幕是否亮屏解鎖

經過測試發現,的確可以判斷屏幕是否點亮,但是代碼邏輯并不完善,還存在點亮未解鎖的情況。

現在需要判斷鎖屏狀態下屏幕是否點亮。

通過控制變量的方式,輸出信息做對比。

熄屏狀態得到的窗口策略信息:

熄屏

屏幕點亮狀態下獲取到的窗口策略信息:

屏幕點亮

通過對兩次輸出做對比:

輸出對比

因此,只要判斷如下代碼即可區分出屏幕狀態:

mScreenOnEarly=false mScreenOnFully=false mOrientationSensorEnabled=false

其中,三個變量只需要比對一個即可。當值為true表示屏幕已點亮。

通過判斷以上輸出即可決定是否需要執行屏幕點亮的操作了。

四、工程代碼

Python示例代碼:

stdout, stderr = CmdUtils.runCmd('adb shell dumpsys window policy', True)

if 'mShowingLockscreen=true' in stdout:

if 'mScreenOnEarly=false' in stdout:

os.system('adb shell input keyevent 26')

os.system('adb shell input keyevent 82')

注:CmdUtils.runCmd() 函數為獲取cmd命令的輸出結果

五、小結

關于adb的功能,看來我還是知之甚少啊。繼續學習adb,強大到讓你懷疑自己。

總結

以上是生活随笔為你收集整理的android shell检查是否锁屏_ADB获取手机屏幕的状态(点亮与否)以及ADB点击事件基本操作...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。