2014-02-18 2 views
6

OnApplicationPause 함수를 사용하여 Unity에서 Pausing을 구현하려고합니다.Unity와 함께 Android에서 애플리케이션 재개

홈 버튼을 누른 다음 활성 앱 목록을 통해 내 게임을 종료하면 (Android에서) 정상적으로 작동하는 것으로 보이지만 홈 화면에서 게임 아이콘을 누르면 나를 가져 오는 대신 게임이 다시 시작됩니다. 뒤로.

이 문제가 발생합니까?

답변

0

게임으로 돌아 가면 다시 시작해야합니다. 그렇지 않다면 게임 흐름이 일시 중지되었을 때 자동으로 다시 시작됩니다.

게임에서 OnApplicationPause의 상태를 확인하고 거기에서 디버그 해보십시오. 코드 샘플은이 스레드에 있습니다. http://answers.unity3d.com/questions/286939/detecting-when-applicationdidbecomeactive-in-unity.html

+0

프로젝트에 2 개의 장면이 있기 때문일 수 있습니까? – tvoloshyn

+0

아니요. 문제가 아닙니다. 한 가지 가능성은 응용 프로그램이 다시 시작할 때 오류가 발생하여 재시작 한 이유입니다. @Enzign answer와 같이 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"> 

"android : 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) 

을 ... 그래서 당신의 로그 더욱 돌아 보면 당신은 응용 프로그램 죽어 이유를. launchMode :

 <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 

UnityPlayerProxyActivity에서 UnityPlayerNativeActivity

+0

이 인 텐트 필터를 움직여도 나를 위해 일했습니다! 나는 이유를 모른다. 그러나 그것은 요점 외에있다! –

+0

주의 - 이것은 나를 위해 효과가 있었지만 인 텐트 필터를 옮기는 것은 나쁜 영향을 미쳤습니다. 내 게임의 기존 사용자는 아이콘을 홈 페이지에 고정시킨 상태에서 아이콘을 잃어 버렸고 때로는 아이콘이 실행기에서 완전히 사라질 수도 있습니다. – tenpn

0

당신이 안드로이드 매니페스트에 발사 모드를 확인하고이 안드로이드와 같은 값을 가지고 : 내가 죽어에서 응용 프로그램을 유지하기 위해 가 나는 텐트 필터를 이동했다 = "singleTask"

관련 문제