上篇讲到通过键值来对按键做出模拟事件,但在很局限,有限按键键值是未知的,例如我们想启动QQ或者微信等等这样的应用,都是封装好的,每个按键的键值并非都能得到。
所以想到另外一个方法:坐标,或者对于不同尺寸的手机可以称为相对坐标
public void myClickEvent(float x, float y) {
long firstTime = SystemClock.uptimeMillis();
final MotionEvent firstEvent = MotionEvent.obtain(firstTime, firstTime,
MotionEvent.ACTION_DOWN, x, y, 0);
long secondTime = firstTime + 30;
final MotionEvent secondEvent = MotionEvent.obtain(secondTime,
secondTime, MotionEvent.ACTION_UP, x, y, 0);
dispatchTouchEvent(firstEvent);
dispatchTouchEvent(secondEvent);
}
其中x,y分别就是横纵坐标,实现的简单粗暴。
对于解决模拟按键可以没多大问题