我如何使用adb发送longpress重要事件?

我可以使用像这样的东西:

adb shell input keyevent 4 

这将发送一个单一的“返回”button按下我的设备。 我怎样才能发送longpress?

谢谢

你可以试试这个命令:

 adb shell input touchscreen swipe 170 187 170 187 2000 

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

长按HOME键:

 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 | find“event2” ; 长按HOME键查看更多。

由于在Android 4.4中提交 ,所以可以使用:

 adb shell input keyevent --longpress KEYCODE_L 

这另一个提交行为进一步改善。

当你想删除一些东西或重复一些事件或只是input很多数字,你可以使用如下代码。 它会模仿键盘上的longpress

 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' 

您可以重复事件或input事物没有限制,就像一个Longpress键。 这是同一件事。 你可以定义你自己的longpass和时间现在

此链接讨论类似的问题,但是有问题的设备(Nexus One设备)的菜单/ home / back / searchbutton是触摸屏的一部分,而不是物理按键。

这另一个似乎更注入一个物理键input,但需要访问您的设备驱动程序* .kl文件,以确定该设备的设备,types,键码,价值按下,价值释放代码设备。

但是,两者之间的共同联系似乎是

 adb shell sleep n 

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

希望这可能是有用的。

那么, 这个开发者链接显示键码是128,我已经testing,但没有预期的结果

你可以查看这个链接和这个链接。 他们展示如何find它。

这可能来不及回答,但肯定会帮助别人。

请使用下面的cmd来实现长按。

adb shellinputkeyevent 5 sleep 5