应用不会关闭(Glass,Unity3d)

时间:2015-10-05 15:03:55

标签: java android unity3d google-glass

我有一个从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();


第3次更新:

我试图在Start() - 方法:

中使用此Coroutine关闭我的Unity应用程序
IEnumerator waitAndExit(int sec)
{
    yield return new WaitForSeconds(sec);
    Application.Quit();
}

这成功关闭了我的应用程序,所以问题似乎是这样:

Unity无法识别在Google Glass上向下滑动Input 中的关键事件, UnityPlayer对象似乎从Android获取所有输入

我怎么能阻止它?
我不想用java来处理触摸板事件,但我最初的想法 - 覆盖onKeyDown - 没有用。


第4次更新:

我尝试识别this answer中的手势并将其添加到我的onCreate()

mUnityPlayer.setFocusable(false);
//mUnityPlayer.requestFocus();

不幸的是它没有帮助。

1 个答案:

答案 0 :(得分:0)

这不是一个真正的解决方案,而是一种解决方法:

即使使用UnityPlayer - 对象阻止触控板输入,使用contextual voice commands也能正常工作。

我现在通过“OK glass - quit”关闭我的应用程序。


如果有人弄清楚如何正确解决它 - 我会测试,验证并接受你的答案。