我想在代码中模拟触摸事件,换句话说,就是在屏幕上扫描。
我想在我的代码中触发方法public boolean onTouchEvent(MotionEvent event)
,但MotionEvent
对象应该具有所需的值以模拟屏幕上的扫描(例如从左到右扫描)。
我读了this条目,但我认为这只在制作Android单元测试时很有用,我需要从代码的任何部分调用此方法来随时模拟滑动。
我想知道这是否可行。提前谢谢。
答案 0 :(得分:1)
感谢Diogo Bento。我的代码有一些东西:它不是OnTouchEvent。它是一个GestureDetector.OnGestureListener。我试着调用onSingelTapUp()。
long time =System.currentTimeMillis();
MotionEvent motionEvent = MotionEvent.obtain( time, time+1, MotionEvent.ACTION_DOWN, 0, 0, 0);
view.last.dispatchTouchEvent(motionEvent);
MotionEvent motionEvent1 = MotionEvent.obtain( time+1, time+2, MotionEvent.ACTION_UP, 0, 0, 0);
view.dispatchTouchEvent(motionEvent1);
答案 1 :(得分:0)
How to simulate a touch event in Android?
MotionEvent motionEvent = MotionEvent.obtain(
downTime,
eventTime,
MotionEvent.ACTION_UP,
x,
y,
metaState
);
// Dispatch touch event to view
view.dispatchTouchEvent(motionEvent);