簡體   English   中英

使用Unity在Android上恢復應用程序

[英]Resuming Application on Android with Unity

我正在嘗試使用OnApplicationPause函數在Unity中實現暫停。

當我通過按下主頁按鈕退出我的游戲(在Android上)然后通過活動應用程序列表返回時似乎工作正常,但是當我按下主屏幕上的游戲圖標時,它重新啟動游戲而不是讓我回來。

有沒有辦法解決 ?

對我來說,當我在日志中有一個: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

它應該恢復到你重返游戲的那一刻。 如果沒有,那么當它從暫停中恢復時,它可能是你的游戲流程自動重啟。

在您的游戲中,嘗試檢查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">

確保“android:configChanges”包含此處的所有內容。 否則為了向您提供更具體的信息,您需要在發生這種情況時提供logcat。

你有沒有檢查Android清單上的啟動模式,並使得像這樣的android:launchMode =“singleTask”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM