0

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

我找到了以下解决方案:

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

    无效延迟更新(){
        GvrViewer.Instance.UpdateState();
        if (GvrViewer.Instance.BackButtonPressed || Input.GetKeyDown(KeyCode.Escape)) {
            应用程序.Quit();
        }
    }

更简单地说:

    无效更新(){
        if (Input.GetKeyDown(KeyCode.Escape)) {
            应用程序.Quit();
        }
    }

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

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

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

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

4

2 回答 2

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

此代码适用于最新的统一版本。尝试使用 unity 2018 或更高版本

于 2020-10-28T16:23:10.483 回答
0

如果您的应用是从 Daydream 应用启动的,则调用Application.Quit()只会将您带回 Daydream 应用,而不是 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 方法。

于 2017-08-23T15:53:25.573 回答