Gear VR Framework覆盖后退按钮功能

时间:2016-07-19 19:46:19

标签: android back-button virtual-reality oculus gear-vr

我们正在使用GVRf开发Gear VR应用程序。应用程序中有两个GVRScenes,我们希望如果用户短按后面一个场景B中的按钮,它会回到场景A,如果用户短按后面一个场景A中的按钮,它会退出应用程序。此外,长按后退按钮应显示Oculus设置菜单,然后按下该按钮应恢复应用程序(根据Oculus商店要求)。

由于未从框架调用GVRActivity.onBackPressed(),我们尝试覆盖onKeyUp中的GVRActivity

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    if (KeyEvent.KEYCODE_BACK == keyCode) {
        if (mScript.onBackPressed()) {//mScript.onBackPressed() handles change scene logic 
                                      //and returns true if we are in scene B, and returns  
                                      //false if we are in scene A
             super.onBackPressed();
        }
        return true;
    }
    return super.onKeyUp(keyCode, event);
}

现在从场景B短按即可,长按显示眼图设置。问题是,如果我们从场景B按回并从设置中按回来,它将切换到场景A,如果我们从场景A执行相同操作,则应用程序将重新启动。

实现这个的正确方法是什么?提前致谢。

1 个答案:

答案 0 :(得分:0)

我们找到了解决方法。

首先,将GVRActivity的{​​{1}}修改为mPaused

protected

然后我们在 protected boolean mPaused = true;

中添加了onKeyUp()
Activity

希望这可以帮助其他人,如果有人有更好的解决方案,请随时发布。