2025年2月24日 星期一 甲辰(龙)年 腊月廿四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 软件应用 > 设备助手

adb判断手机屏幕状态并点亮屏幕

时间:09-01来源:作者:点击数:23
CDSY,CDSY.XYZ
  • 唤醒屏幕操作
  • os.system("adb shell input keyevent KEYCODE_POWER")
  • or
  • os.system('adb shell input keyevent 26')
  • 解锁屏幕
  • # 屏幕从(500,700)滑动到(500,50),延迟200号,毫秒
  • os.system("adb -s shell input swipe 500 700 500 50 200" )
  • # 输入密码
  • os.system('adb shell input text 1111')
  • 关闭和开启屏幕样例
  • import datetime,os
  • # 手机电源开关
  • def power_switch(device='',p_num='0号'):
  • hour = datetime.datetime.today().strftime('%H')
  • adb_msg = os.popen('adb -s %s shell dumpsys window policy' % device)
  • phone_msg = adb_msg.buffer.read().decode(encoding='utf-8')
  • # 10:00~21:00,使手机处于亮屏和解锁状态
  • if '10' <=hour <= '21':
  • if 'mAwake=true' in phone_msg and 'mInputRestricted=false' in phone_msg:
  • print('%s手机,亮屏时段,####已亮屏,已解锁####'%p_num)
  • logger.info('%s手机,亮屏时段,####已亮屏,已解锁####'%p_num)
  • elif 'mAwake=true' in phone_msg:
  • print('%s手机,亮屏时段,****已亮屏,执行解锁****'%p_num)
  • logger.info('%s手机,亮屏时段,****已亮屏,执行解锁****' % p_num)
  • # 屏幕从(500,700)滑动到(500,50),延迟200号,毫秒
  • os.system("adb -s %s shell input swipe 500 700 500 50 200" % device)
  • else:
  • print('%s手机,亮屏时段,====执行亮屏和解锁====' % p_num)
  • logger.info('%s手机,亮屏时段,====执行亮屏和解锁====' % p_num)
  • os.system("adb -s %s shell input keyevent KEYCODE_POWER" % device)
  • # 屏幕从(500,700)滑动到(500,50),延迟200号,毫秒
  • os.system("adb -s %s shell input swipe 500 700 500 50 200" % device)
  • else:
  • # 处于息屏状态
  • if 'mAwake=true' in phone_msg:
  • print('%s手机,非亮屏时段,====已亮屏,关闭亮屏====' % p_num)
  • logger.info('%s手机,非亮屏时段,====已亮屏,关闭亮屏====' % p_num)
  • os.system("adb -s %s shell input keyevent KEYCODE_POWER" % device)
  • else:
  • print('%s手机,非亮屏时段,====未亮屏====' % p_num)
  • logger.info('%s手机,非亮屏时段,====未亮屏====' % p_num)
  • 重新启动手机app
  • mFocusedActivity = os.popen("adb shell dumpsys activity | grep 'mFocusedActivity' | awk '{print $4}' | awk -F '/' '{print $1}'").read().strip('\n')
  • if mFocusedActivity == 'com.eg.android.AlipayGphone':
  • print("APP已启动,停止APP,等待重新启动")
  • os.system('adb shell am force-stop com.eg.android.AlipayGphone')
  • time.sleep(1)
  • print("启动app")
  • os.system('adb shell am start -n com.eg.android.AlipayGphone/com.eg.android.AlipayGphone.AlipayLogin activity')

以上操作需要adb环境已经搭建好,使用以下命令查看连接设备

  • C:\Users\enmonster>adb devices
  • List of devices attached
  • 97dc2d9 device

想获取某个APP名称用于启动时,手机先打开APP,然后执行以下命令

  • adb shell dumpsys window windows |grep "Current"
CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐