我試圖通過使用OnApplicationPause函數來實現在Unity中暫停。使用Unity在Android上恢復應用程序
當我退出我的遊戲(在Android上)時,按Home鍵然後通過活動應用程序列表回滾,但當我按主屏幕上的遊戲圖標時,它似乎工作正常,它重新啓動遊戲而不是將我背部。
有沒有辦法解決這個問題?
我試圖通過使用OnApplicationPause函數來實現在Unity中暫停。使用Unity在Android上恢復應用程序
當我退出我的遊戲(在Android上)時,按Home鍵然後通過活動應用程序列表回滾,但當我按主屏幕上的遊戲圖標時,它似乎工作正常,它重新啓動遊戲而不是將我背部。
有沒有辦法解決這個問題?
它應該恢復到你回到遊戲的地步。如果不是,那麼它可能是您的遊戲流程在暫停後恢復時自動重新啓動。
在您的遊戲中,嘗試檢查OnApplicationPause的狀態並從此處進行調試。代碼示例在這個線程中http://answers.unity3d.com/questions/286939/detecting-when-applicationdidbecomeactive-in-unity.html
根據我的經驗,當你的AndroidManifest.xml文件中沒有所有正確的信息時,會發生這些奇怪的事情。特別是這一行:
<activity android:name="your_name_here.Activity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="your_orientation_here_if_needed">
確保「機器人:configChanges」包含了這裏的一切。 否則給你更具體的信息,你會需要提供一個logcat當發生這種情況。
對我來說,這是發生在我有一個日誌中的android.os.DeadObjectException。 (意味着應用程序已經死亡)。
檢查,看看你有你的日誌是這樣的:
I/ActivityManager( 600): Restarting because process died: ActivityRecord{439f9588 u0 com.mycompany.myapp/com.unity3d.player.UnityPlayerProxyActivity}
W/ActivityManager( 600): Exception when starting activity com.mycompany.myapp/com.unity3d.player.UnityPlayerProxyActivity
W/ActivityManager( 600): android.os.DeadObjectException
W/ActivityManager( 600): at android.os.BinderProxy.transact(Native Method)
W/ActivityManager( 600): at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:759)
W/ActivityManager( 600): at com.android.server.am.ActivityStack.realStartActivityLocked(ActivityStack.java:1120)
W/ActivityManager( 600): at com.android.server.am.ActivityStack.startSpecificActivityLocked(ActivityStack.java:1247)
......如果是這樣回首進一步在你的日誌,看看爲什麼你的應用程序正在消亡。 對我來說,從垂死保持應用程序,我不得不意圖過濾器移動:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
從UnityPlayerProxyActivity到UnityPlayerNativeActivity
移動此意圖過濾器也爲我工作!我不知道爲什麼,但那不僅僅是重點! –
小心 - 這對我很有用,但移動意圖過濾器有一些不好的影響。如果我的遊戲的現有用戶將它們固定在主頁上,則會丟失圖標,有時(我不確定這些情況)該圖標會從啓動程序中完全消失。 – tenpn
有你檢查Android清單起跑模式,並作出這樣的android值:launchMode =「singleTask」
難道這是因爲我的項目中有2個場景嗎? – tvoloshyn
不,不應該是一個問題。一種可能是您的應用程序在恢復時出現錯誤,這就是重新啓動的原因。您可能希望像@Enzign回答一樣檢查logcat。 –