[英]Return from unity activity to MainActivity in android studio
我在 android studio 中制作了一個應用程序,在 Unity 中制作了一個游戲。 現在我想將這兩者結合在一起。 android調用unityNativePlayer啟動沒問題。 但是當我想從統一活動返回到 MainActivity.java 時,它會變成這樣:我在統一游戲中有一個退出按鈕,調用 Application.exit(); 當我按下按鈕時沒有任何反應。 有錯誤嗎?
Application.exit()
在 Unity API 中不存在。
對於編輯器,使用UnityEditor.EditorApplication.isPlaying = false
;
使用Application.Quit()
進行構建。
最好使用編輯器預處理器來執行此操作,否則您將在構建包含UnityEditor.EditorApplication.isPlaying = false;
代碼時UnityEditor.EditorApplication.isPlaying = false;
問題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 中為類命名的任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.