2014-01-17 2 views
0

안녕하세요 저는 작은 Android 응용 프로그램을 개발 중입니다. 그래서 내 응용 프로그램에는 다음과 같은 것들이 포함되어 있습니다. 3 활동은 A1, A2, A3를 고려합니다. A1이 내 런처 활동입니다. 내 응용 프로그램에는 하나의 백그라운드 서비스가 포함되어 있습니다. 따라서 A1의 버튼을 클릭하면 백그라운드 서비스가 시작됩니다.android에서 활동 예외를 일시 중지 할 수 없습니다.

배경 서비스 시작 A2부터 시작합니다. 나는 또한 계산으로 서비스에서 약간의 계산을하고있다. 그래서 내 문제는 내가 A1에서 서비스를 시작할 때 서비스에서 A2를 열 것이다. 거기에서 뒤로 (A2에서 A1으로) 클릭하면 A1으로 돌아갑니다. 하지만 (A1 -> 서비스 -> A2 -> A3 (이것은 또한 서비스에서 시작)의 경우) 내가 다시 클릭하면 활동 예외 오류를 일시 중지 할 수 없습니다. A1을 재개하지 않습니다.

서비스 활동을 시작할 때 나는 Intent.FLAG_ACTIVITY_NEW_TASK을 사용하고 있습니다. 문제가 어디에 있습니까? 도움이 필요하면

참조 감사이 내 오류 로그입니다 : 당신의 A2 Activity가 시작되지 않은 때문에 발생

01-17 14:45:03.689: E/AndroidRuntime(27805): FATAL EXCEPTION: main 
01-17 14:45:03.689: E/AndroidRuntime(27805): java.lang.RuntimeException: Unable to pause activity { ABC/ ABC.map.MapActivity}: java.lang.IllegalStateException 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2709) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2665) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2643) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.app.ActivityThread.access$800(ActivityThread.java:124) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.os.Looper.loop(Looper.java:137) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.app.ActivityThread.main(ActivityThread.java:4436) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at java.lang.reflect.Method.invokeNative(Native Method) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at java.lang.reflect.Method.invoke(Method.java:511) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at dalvik.system.NativeStart.main(Native Method) 
01-17 14:45:03.689: E/AndroidRuntime(27805): Caused by: java.lang.IllegalStateException 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.media.MediaPlayer._stop(Native Method) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.media.MediaPlayer.stop(MediaPlayer.java:977) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at ABC.map.MapActivity.onPause(MapActivity.java:170) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.app.Activity.performPause(Activity.java:4564) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1195) 
01-17 14:45:03.689: E/AndroidRuntime(27805): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2696) 
01-17 14:45:03.689: E/AndroidRuntime(27805): ... 12 more 
+0

logcat 및 관련 코드를 게시하십시오. 감사. – fasteque

+0

예, 확실히 기다립니다. – nilkash

+0

A2 활동 내에서 onBackPressed() 메소드를 대체하고 인 텐트를 통해 활동을 시작합니다. – Loganathan

답변

3

. A2 Activity에서 onCreate()onStart() 방법이 완료되었는지 확인한 후 A3 Activity을 시작해야합니다.

+0

빠른 도움을 주셔서 감사합니다. 나는 당신의 요점을 얻지 못하고있다. 그것은 A2에 대한 UI를 보여 주며 어떻게 A2가 시작되지 않았다고 말할 수 있는가? A2에서 A1로만 제대로 작동하는 백 프레스의 A3에서 A2로 작동하지 않습니다. 평균 (A2에서 A1 작업). 그러나 (A3에서 A2는 작동하지 않습니다.). 이것에 대한 해결책이 있습니까? – nilkash

+0

MapActivity.onPause() 메소드에서 예외가있을 수 있습니까? –

+0

무엇을 A2와 A3 모두에 투명 상단을 사용하는 경우? 왜냐하면 내가 뒤를 클릭 할 때이 둘을 유지할 필요가 없기 때문이다. 괜찮 니? – nilkash

관련 문제