Android -- android sendevent模拟滑动点击事件

adb shell input swipe 250 250 300 300
模拟事件全部是通过input命令来实现的,首先看一下input命令的使用:
usage: input …

input text <string>
input keyevent <key code number or name>
input tap <x> <y>
input swipe <x1> <y1> <x2> <y2>
  1. keyevent指的是android对应的keycode,比如home键的keycode=3,back键的keycode=4.

具体请查阅 http://blog.csdn.net/huiguixian/article/details/8550170

然后使用的话比较简单,比如想模拟home按键:

adb shell input keyevent 3

请查阅上述文章,根据具体keycode编辑即可。

  1. 关于tap的话,他模拟的是touch屏幕的事件,只需给出x、y坐标即可。

此x、y坐标对应的是真实的屏幕分辨率,所以要根据具体手机具体看,比如你想点击屏幕(x, y) = (250, 250)位置:

adb shell input tap 250 250

  1. 关于swipe同tap是一样的,只是他是模拟滑动的事件,给出起点和终点的坐标即可。例如从屏幕(250, 250), 到屏幕(300, 300)即

adb shell input swipe 250 250 300 300
在项目中实现陀螺仪翻页的解决策略

竖屏

向右滑 :input swipe 50 1000 650 1000 ->

向左滑: input swipe 650 1000 50 1000 <-


横屏

默认点击屏幕在横屏状态下的中心位置 input tap 627 283 (可以完成例如在相册页面的)

向右滑 :input swipe 600 300 800 300 -> (适用于小范围的移动。 例如相册的展示页面)

向左滑 :input swipe 800 300 60 300 <- (适用于小范围的移动。 例如相册的展示页面)

向右滑 :input swipe 200 300 1200 300 -> (适用于大范围的移动。 例如相册的单张浏览模式)

向右滑 :input swipe 1200 300 200 300 <- (适用于大范围的移动。 例如相册的单张浏览模式)

superbar中使用命令在不申请root的条件下打开设备文件节点的权限
打开设备文件节点的权限:chmod 666 /dev/input/*
查看设备文节点的权限: ll /dev/input

android RingSDK 的事件注入
https://code.google.com/p/android-event-injector/

ps:在没有OTG线的情况下连接电脑,通过命令打开任意的app
adb shell am start com.wormhole.glass1/com.wormhole.glass.MainActivit