首页 文章

如何在Unity上开发时正确退出Daydream应用程序(按后面或X按钮)

提问于
浏览
0

我找到了一些解决这个问题的方法,其中后退或X按钮(左上角)不会退出应用程序,但它们似乎不再起作用,我的应用程序不断被Daydream程序拒绝 .

我找到了以下解决方案:

我亲自尝试了以下两种变体:

void LateUpdate() {
        GvrViewer.Instance.UpdateState();
        if (GvrViewer.Instance.BackButtonPressed || Input.GetKeyDown(KeyCode.Escape)) {
            Application.Quit();
        }
    }

而且更简单:

void Update() {
        if (Input.GetKeyDown(KeyCode.Escape)) {
            Application.Quit();
        }
    }

但是对于这两种变体,应用程序不断被拒绝,原因如下:

当用户选择主页或后退按钮时,应用程序不会退出当用户从其查看器中删除手机时,系统栏中的关闭按钮(左上角)和后退按钮都应退出VR应用程序 . 该应用必须退出到2D,而不仅仅是Daydream Home . 关闭按钮也必须在您的应用中可见 .

我目前正在使用Unity 5.6和GoogleVR SDK 1.4 .

我错过了什么吗?有没有其他方法可以检测到按下后退按钮/ X按钮?

1 回答

  • 0

    如果您的应用程序是从Daydream应用程序启动的,则调用 Application.Quit() 只会将您带回白日梦应用程序,而不是Android 2D应用程序启动器 .

    您需要做的是用Java编写以下代码

    public void Quit(Activity currentActivity) {
        Intent startMain = new Intent(Intent.ACTION_MAIN);
        startMain.addCategory(Intent.CATEGORY_LAUNCHER);
        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        currentActivity.startActivity(startMain);
    }
    

    然后从Unity调用上面的Java方法 .

相关问题