我正在尝试使用头部手势来实现通过Google Glass应用程序进行导航。我能够识别向右、向左和向上看等头部手势。每个手势被识别后都有各自的方法来执行相应操作。
现在,我需要在每个方法中模拟相应的触摸手势,以便它会认为我正在向左或向右滑动,这将使我能够通过头部手势浏览卡片。
有人知道如何实现这一点吗?
我在onCreate()中添加了以下内容:
然后我将以下行添加到每个相应的头部手势方法中。
现在,我需要在每个方法中模拟相应的触摸手势,以便它会认为我正在向左或向右滑动,这将使我能够通过头部手势浏览卡片。
有人知道如何实现这一点吗?
编辑
我创建了一个快速的“Hello World”应用程序来进行测试。我添加了我的头部手势代码,并开始尝试让键盘工作。我在onCreate()中添加了以下内容:
Instrumentation instr = new Instrumentation();
然后我将以下行添加到每个相应的头部手势方法中。
- 向上的头部手势应该对应于点击触摸板
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER)
- 向左的头部手势应该对应于在触摸板上向左滑动
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_LEFT);
- 向右的头部手势应该对应于在触摸板上向右滑动
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_RIGHT);
现在它们正在按照预期响应,但是我收到了一个异常,内容如下:
java.lang.RuntimeException: This method can not be called from the main application thread