使用Unity在Android上恢复应用程序

tvo*_*hyn 6 c# resume unity-game-engine

我正在尝试使用OnApplicationPause函数在Unity中实现暂停.

当我通过按下主页按钮退出我的游戏(在Android上)然后通过活动应用程序列表返回时似乎工作正常,但是当我按下主屏幕上的游戏图标时,它重新启动游戏而不是让我回来.

有没有办法解决 ?

Sta*_*ley 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)
Run Code Online (Sandbox Code Playgroud)

...如果是这样,请在日志中进一步查看以查看应用程序死亡的原因.为了让我的应用程序免于死亡,我不得不移动意图过滤器:

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
Run Code Online (Sandbox Code Playgroud)

从UnityPlayerProxyActivity到UnityPlayerNativeActivity


Yua*_*ldi 0

它应该在您返回游戏时恢复。如果没有,那么您的游戏流程可能会在暂停恢复后自动重新启动。

在您的游戏中,尝试检查 OnApplicationPause 的状态并从那里进行调试。代码示例在此线程中http://answers.unity3d.com/questions/286939/detecting-when-applicationdidbecomeactive-in-unity.html