adb input命令详解

一.input命令用法

Usage: input [<source>] <command> [<arg>...]

adb input命令详解

 常用 keycode 列表

由于安卓各自的定制有些keycode可能无效

keycode    含义
3    HOME 键
4    返回键
5    打开拨号应用
6    挂断电话
24    增加音量
25    降低音量
26    电源键
27    拍照(需要在相机应用里)
64    打开浏览器
82    菜单键
85    播放/暂停
86    停止播放
87    播放下一首
88    播放上一首
122    移动光标到行首或列表顶部
123    移动光标到行末或列表底部
126    恢复播放
127    暂停播放
164    静音
176    打开系统设置
187    切换应用
207    打开联系人
208    打开日历
209    打开音乐
210    打开计算器
220    降低屏幕亮度
221    提高屏幕亮度
223    系统休眠
224    点亮屏幕
231    打开语音助手
276    如果没有 wakelock 则让系统休眠

python的封装

# -*- coding: utf-8 -*-

#DEVICE_NAME = "172.16.71.95:5555"
#DEVICE_NAME = "SQRNW17A25006944"
#DEVICE_NAME = "ML5RROBJJB"
# DEVICE_NAME = "0123456789ABCDEF"
DEVICE_NAME = ""

def get_device_name_param():
    if DEVICE_NAME == "":
        return ""
    return " -s {0} ".format(DEVICE_NAME)

def device_back_key():
    device_input_key(4)

def device_input_key(keycode):
    #input命令格式 adb shell input keyevent <keycode>
    cmd = "adb {0} shell input keyevent {1}".format(get_device_name_param(),keycode)
    print(cmd)
    os.system(cmd)

 

class keyevent():
    '''常用的keyevent事件'''
    KEYCODE_HOME            = 3 #HOME键
    KEYCODE_BACK            = 4 #返回键
    KEYCODE_CALL            = 5 #打开拨号应用
    KEYCODE_ENDCALL         = 6 #挂断电话
    KEYCODE_VOLUME_UP       = 24#增加音量
    KEYCODE_VOLUME_DOWN     = 25#降低音量
    KEYCODE_POWER           = 26#电源键
    KEYCODE_CAMERA          = 27#拍照(需要在相机应用里)
    KEYCODE_EXPLORER        = 64#打开浏览器
    KEYCODE_MENU            = 82#菜单键
    KEYCODE_MEDIA_PLAY_PAUSE= 85#播放 / 暂停
    KEYCODE_MEDIA_STOP      = 86#停止播放
    KEYCODE_MEDIA_NEXT      = 87#播放下一首
    KEYCODE_MEDIA_PREVIOUS  = 88#播放上一首
    KEYCODE_MOVE_HOME       = 122#移动光标到行首或列表顶部
    KEYCODE_MOVE_END        = 123#移动光标到行末或列表底部
    KEYCODE_MEDIA_PLAY      = 126#恢复播放
    KEYCODE_MEDIA_PAUSE     = 127#暂停播放
    
def adb_shell_input_keyevent(keycode=keyevent.KEYCODE_BACK):
    #cmd = "adb shell input keyevent %s".format(keycode)
    cmd = 'adb shell input keyevent {0}' %keycode
    os.system(cmd)
    
if __name__ == "__main__":
    adb_shell_input_keyevent(keyevent.KEYCODE_BACK)

 

上一篇:洛谷 P6622 [省选联考 2020 A/B 卷] 信号传递


下一篇:2021-10-03