我有一个从Unity3d项目生成的Android Studio项目。
我想在Google Glass上运行我的项目,所以我遵循了本教程(http://forum.unity3d.com/threads/how-to-build-for-google-glass.219558/)。
到目前为止一切正常,但我无法通过向下滑动关闭应用程序,即使我将其添加到UnityPlayerActivity.java:
@Override public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){ finish(); }
return true;
}
同样,其他一切都很好。
我在平板电脑上尝试了这个应用程序 - 就像在Glass上一样,“Back” - 按钮不起作用。
然后我在Unity中实现了这个:
if(Input.GetKeyDown(KeyCode.Escape)){
Application.Quit();
}
现在它适用于平板电脑,但玻璃情况没有改变。
这也不起作用:this.finishAffinity();
我试图在Start()
- 方法:
IEnumerator waitAndExit(int sec)
{
yield return new WaitForSeconds(sec);
Application.Quit();
}
这成功关闭了我的应用程序,所以问题似乎是这样:
Unity无法识别在Google Glass上向下滑动Input
中的关键事件, UnityPlayer
对象似乎从Android获取所有输入
我怎么能阻止它?
我不想用java来处理触摸板事件,但我最初的想法 - 覆盖onKeyDown
- 没有用。
我尝试识别this answer中的手势并将其添加到我的onCreate()
:
mUnityPlayer.setFocusable(false);
//mUnityPlayer.requestFocus();
不幸的是它没有帮助。
答案 0 :(得分:0)
这不是一个真正的解决方案,而是一种解决方法:
即使使用UnityPlayer
- 对象阻止触控板输入,使用contextual voice commands也能正常工作。
我现在通过“OK glass - quit”关闭我的应用程序。
如果有人弄清楚如何正确解决它 - 我会测试,验证并接受你的答案。