Application.exit() 在 Unity API 中不存在。
对于编辑器,使用UnityEditor.EditorApplication.isPlaying = false;
使用Application.Quit() 进行构建。
最好使用编辑器预处理器来执行此操作,否则您将无法构建包含UnityEditor.EditorApplication.isPlaying = false; 代码行的代码用于其他平台。
下面的代码应该可以解决这个问题:
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#else
Application.Quit();
#endif
请理解,您应该不拥有任何用于移动设备的退出 UI Button。它会起作用,但这是一个糟糕的设计。这就是物理 Home (iOS) 或后退 (Android) 按钮的用途。
编辑:
您只想从 Java 中退出 Unity Activity。该函数应该这样做。
public void quitUnityActivity ()
{
UnityPlayer.currentActivity.runOnUiThread(new Runnable(){
public void run()
{
Log.v("Unity", "Unity Activity Exited!" );
this.mUnityPlayer.quit();
UnityPlayer.currentActivity.finish();
}
});
}
如果这不起作用,请尝试
public void quitUnityActivity()
{
Log.v("Unity", "Unity Activity Exited!");
this.mUnityPlayer.quit();
UnityPlayer.currentActivity.finish();
}
使用 C# 从 Unity 调用 Java 函数。
void exitUnity()
{
AndroidJavaClass myClass = new AndroidJavaClass("com.companyName.productName.MyClass");
myClass.Call("quitUnityActivity");
}
确保将 com.companyName.productName.MyClass 替换为您在 Android Studio 中为类命名的任何名称。