我的Android进阶之旅------>Android中通过adb shell input来模拟滑动、按键、点击事件

本文介绍了如何使用adb shell input命令来模拟Android设备上的文本输入、按键事件、点击及滑动操作,详细讲解了各参数用法,并通过实例演示了各个操作的效果,是Android开发者调试和自动化测试的实用技巧。

今天在维护公司的一个小项目的时候,发现按公司手机的某个物理按键,激活相应的Service后,会在屏幕上模拟的点击了屏幕的某个坐标点。好家伙,原来是之前该项目的版本是按这个物理按键后,会弹出一个对话框,提示用户需要打开某些服务,然后出于良好的用户体验,直接模拟点击事件,点击该对话框,不让用户做多余的操作。

但是后期版本的改动,该功能不需要了,但是代码可能没有改动完全,因此出现了上述bug。查看代码发现,原来是执行了下面的代码才模拟出在屏幕上的点击事件。

Runtime.getRuntime().exec("input tap " + mPositiveButtonX + " " + mPositiveButtonY);

其中mPositiveButtonX是要点击的x坐标,mPositiveButtonY是要点击的y坐标。

修复此bug,就是将上述代码处注释掉即可。

   ===============================================================

通过这段代码,我去百度了input事件的相关资料。

首先在在cmd窗口敲命令:adb shell input help,得到相关的input事件的用法

C:\Documents and Settings\Administrator>adb shell input hel
参考资源链接:[ADB Shell Input Keyevent 完全指南](https://wenku.csdn.net/doc/312ggjtxt4?utm_source=wenku_answer2doc_content) 要模拟特定功能的按键事件,你需要了解`adb shell input keyevent`命令的使用方法,结合Android系统的按键代码来实现。《ADB Shell Input Keyevent 完全指南》这本书提供了详尽的ADB使用方法和按键代码大全,是解决这类问题的宝贵资源。 首先,确保你的电脑已经安装了Android SDK,并且环境中配置了ADB工具。然后,通过USB调试模式将你的Android设备连接到电脑。通过在命令行输入`adb devices`,你应该能够看到设备列表,确认设备已连接。 接下来,你可以使用`adb shell input keyevent`命令来模拟按键事件。例如,如果你想要模拟按一下菜单键,可以使用以下命令: ``` adb shell input keyevent KEYCODE_MENU ``` 对于更复杂的操作,比如模拟摇杆控制或者组合按键,可能需要使用到多个`keyevent`命令,或者使用`adb shell input`的其他子命令,如`adb shell input swipe`来模拟滑动事件,或`adb shell input tap`来模拟点击事件。 例如,要模拟从屏幕底部向上滑动来返回桌面,可以使用: ``` adb shell input swipe *** ``` 这行命令表示在屏幕上从坐标(500, 1500)滑动到坐标(500, 500)。 为了完成你的具体需求,你需要参考《ADB Shell Input Keyevent 完全指南》中提供的按键代码列表,找到对应功能的KEYCODE,并应用到你的ADB命令中。通过这种方法,你可以模拟几乎所有Android设备上的按键操作。 掌握这些技术可以大大提高你在Android应用开发和测试中的效率,同时也能在没有实体按键的设备上进行更灵活的操作。阅读《ADB Shell Input Keyevent 完全指南》将会使你对这些命令的使用有更深入的理解,从而在实际应用中更加得心应手。 参考资源链接:[ADB Shell Input Keyevent 完全指南](https://wenku.csdn.net/doc/312ggjtxt4?utm_source=wenku_answer2doc_content)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

字节卷动

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值