我在Android工作室制作了一个应用程序,在Unity中制作了一款游戏。现在我想把这两者结合起来。在调用unityNativePlayer的android中启动没问题。但是当我想从Unity活动回到MainActivity.java时,它会出现这样的情况:我在统一游戏中有一个退出按钮,调用Application.exit();当我按下按钮时没有任何反应。有错吗?
答案 0 :(得分:1)
Application.exit()
。
对于编辑器,请使用UnityEditor.EditorApplication.isPlaying = false
;
使用Application.Quit()
进行构建。
最好使用编辑器预处理器执行此操作,否则您将无法为其他平台构建包含UnityEditor.EditorApplication.isPlaying = false;
代码行的代码。
下面的代码应该可以解决这个问题:
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#else
Application.Quit();
#endif
请理解,不对移动设备有任何退出UI Button
。它会起作用,但这是一个糟糕的设计。这就是物理主页(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中命名的类别。