关于android:如何使用adb发送长按按键事件?

How can I use adb to send a longpress key event?

我可以使用类似以下的内容:

1
adb shell input keyevent 4

,这将向我的设备发送一次"后退"按钮。如何发送长按?

谢谢


您可以尝试以下命令:

1
adb shell input touchscreen swipe 170 187 170 187 2000

您在屏幕上的申请位置是
170,187;延迟时间是2000(ms);

长按HOME键:

1
2
3
4
5
adb shell sendevent /dev/input/event2 1 172 1
adb shell sendevent /dev/input/event2 0  0 0
timeout 1
adb shell sendevent /dev/input/event2 1 172 0
adb shell sendevent /dev/input/event2 0  0 0

您可以转到cmd并键入adb shell getevent |找到" event2";长按HOME键查看更多信息。


由于此提交是在Android 4.4中进行的,因此可以使用:

1
adb shell input keyevent --longpress KEYCODE_L

另一次提交进一步改善了行为。


当您要删除某些内容或重复某些事件或仅输入大量数字时,可以使用以下代码。它会模仿键盘上的长按:

1
2
3
4
adb shell input keyevent KEYCODE_FORWARD_DEL KEYCODE_FORWARD_DEL KEYCODE_FORWARD_DEL //delete 3 times


adb shell input keyevent KEYCODE_1 KEYCODE_1 KEYCODE_1 //input value '111'

您可以重复事件或无限制输入内容,就像长按按键一样。这是同一件事。您可以定义自己的长传和时间Now


此链接讨论了类似的问题,但有问题的设备(Nexus One设备)具有菜单/主页/后退/搜索按钮作为触摸屏的一部分,而不是物理键。

这另一个似乎更像是插入物理键输入,但是需要访问* .kl文件供您的设备驱动程序确定设备,类型,键代码,按值和释放值代码针对该特定设备。

但是,两者之间的常见链接似乎是

1
adb shell sleep n

,其中n是按下持续时间的长度(以秒为单位)。

希望这可能有用。


好吧,这个开发人员链接显示密钥代码是128,我已经测试过,但是没有预期的结果。

您可以检查此链接和此链接。他们展示了如何找到它。


这可能为时已晚,但肯定会帮助其他人。

请在cmd以下使用以实现长按。

adb shell输入keyevent 5睡眠5