MotionEvent没有得到构造函数,我想在单元测试中手动创建一个MotionEvent,然后如何获得它?谢谢.
我们有一个3米的微触摸显示屏.它通过usb与我的debian系统相连,并被认为是人机界面(hid).我正在尝试访问并推送实时信息......如果它被触及我想知道哪里(x,y)并将它通过netcat传递给另一台主机.
不幸的是,我只能使用原始数据
cat /dev/input/event2 | hexdump
Run Code Online (Sandbox Code Playgroud)
要么
evtest
你得到的hexcode似乎没有记录......
有人知道如何获取这些信息吗?必须有一种从十六进制代码中提取它的方法.不幸的是我不知道如何解释hexcode.我找不到其记录的任何来源......
有没有办法让内核能够实时提供我想要的信息?作为一个解决方案,可能有一个X-Server可以告诉我的解决方案?触摸屏的行为类似于X中的鼠标.我实际上已经尝试通过xlib获取鼠标的x,y位置.但它太慢了,不会告诉我是否有人在接触......
提前致谢!
evtest样本输出:
Event: time 1425319271.595631, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 51
Event: time 1425319271.595631, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 10304
Event: time 1425319271.595631, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 30629
Event: time 1425319271.595631, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 893
Event: time 1425319271.595631, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 414
Event: time 1425319271.595631, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: …Run Code Online (Sandbox Code Playgroud) 这条路我见过
View.performClick();
Run Code Online (Sandbox Code Playgroud)
但它不显示按钮的实际按下情况。这个方法我也尝试过
btn.setPressed(true);
btn.invalidate();
Run Code Online (Sandbox Code Playgroud)
但是,它只显示按钮被按下。我已将范围缩小到这段代码,按下然后松开,但不单击。我错过了什么吗?我怎样才能像用户点击一样完成一次点击(monkeyrunner 目前还不是一个选项)
btn = (Button) findViewById(R.id.btn_box);
Handler handler = new Handler();
Runnable r = new Runnable() {
public void run() {
btn.setPressed(true);
btn.invalidate();
Handler handler1 = new Handler();
Runnable r1 = new Runnable() {
public void run() {
btn.setPressed(false);
btn.invalidate();
}
};
handler1.postDelayed(r1, 1000);
}
};
handler.postDelayed(r, 1000);
Run Code Online (Sandbox Code Playgroud) 使用myObject.performClick()我可以从代码中模拟点击事件.
onTouch事件是否存在这样的事情?我可以模仿Java代码中的触摸操作吗?
编辑
这是我的onTouch倾听者.
myObject.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
// do something
return false;
}
});
Run Code Online (Sandbox Code Playgroud) android ×4
events ×2
touchscreen ×2
click ×1
driver ×1
java ×1
linux ×1
linux-kernel ×1
raw-input ×1
touch-event ×1