2014-02-18 57 views
6

我試圖通過使用OnApplicationPause函數來實現在Unity中暫停。使用Unity在Android上恢復應用程序

當我退出我的遊戲(在Android上)時,按Home鍵然後通過活動應用程序列表回滾,但當我按主屏幕上的遊戲圖標時,它似乎工作正常,它重新啓動遊戲而不是將我背部。

有沒有辦法解決這個問題?

回答

0

它應該恢復到你回到遊戲的地步。如果不是,那麼它可能是您的遊戲流程在暫停後恢復時自動重新啓動。

在您的遊戲中,嘗試檢查OnApplicationPause的狀態並從此處進行調試。代碼示例在這個線程中http://answers.unity3d.com/questions/286939/detecting-when-applicationdidbecomeactive-in-unity.html

+0

難道這是因爲我的項目中有2個場景嗎? – tvoloshyn

+0

不,不應該是一個問題。一種可能是您的應用程序在恢復時出現錯誤,這就是重新啓動的原因。您可能希望像@Enzign回答一樣檢查logcat。 –

0

根據我的經驗,當你的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當發生這種情況。

7

對我來說,這是發生在我有一個日誌中的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

+0

移動此意圖過濾器也爲我工作!我不知道爲什麼,但那不僅僅是重點! –

+0

小心 - 這對我很有用,但移動意圖過濾器有一些不好的影響。如果我的遊戲的現有用戶將它們固定在主頁上,則會丟失圖標,有時(我不確定這些情況)該圖標會從啓動程序中完全消失。 – tenpn

0

有你檢查Android清單起跑模式,並作出這樣的android值:launchMode =「singleTask」