2014-04-08 8 views
0

라이센스를 추가 한 응용 프로그램을 개발 중입니다. 내 애플 리케이션 젤리 콩 4.2 이상 젤리 콩 4.1 잘 작동하지 않습니다. 라이센스를 활성화하기 위해 다른 모바일에서 메시지를 보내면 앱이 젤리 빈 4.2 이상에서 메시지를 가져 오지 않지만 4.1에서는 정상적으로 작동합니다. 이제 나는 다음과 같은 오류를 보여주는 디버거를 사용하여 안드로이드 장치에서 내 애플 리케이션을 실행합니다. 이 문제를 해결하도록 도와주세요. 미리 감사드립니다.백그라운드에서 서비스 실행 중

이 내 로그 캣 오류 :

04-08 10:12:17.201: I/LOG(15378): JJ/data/data/com.commonsware.android.syssvc.alarm/files 
04-08 10:12:17.202: I/s(15378): File decryptted: 
04-08 10:12:17.202: I/File(15378): File contents: 
04-08 10:12:17.203: I/s(15378): File decryptted: 
04-08 10:12:17.203: I/File(15378): File contents: 
04-08 10:12:17.203: I/log(15378): mainclassfalse 
04-08 10:12:17.210: W/IInputConnectionWrapper(15378): beginBatchEdit on inactive InputConnection 
04-08 10:12:17.210: W/IInputConnectionWrapper(15378): endBatchEdit on inactive InputConnection 
04-08 10:12:17.220: E/ActivityThread(15378): Activity com.commonsware.android.syssvc.alarm.MainActivity has leaked IntentReceiver [email protected] that was originally registered here. Are you missing a call to unregisterReceiver()? 
04-08 10:12:17.220: E/ActivityThread(15378): android.app.IntentReceiverLeaked: Activity com.commonsware.android.syssvc.alarm.MainActivity has leaked IntentReceiver [email protected] that was originally registered here. Are you missing a call to unregisterReceiver()? 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:805) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:606) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1551) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.ContextImpl.registerReceiver(ContextImpl.java:1531) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.ContextImpl.registerReceiver(ContextImpl.java:1525) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:467) 
04-08 10:12:17.220: E/ActivityThread(15378): at com.commonsware.android.syssvc.alarm.MainActivity.onCreate(MainActivity.java:99) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.Activity.performCreate(Activity.java:5248) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2173) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2269) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3819) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.ActivityThread.access$900(ActivityThread.java:139) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1216) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.os.Handler.dispatchMessage(Handler.java:102) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.os.Looper.loop(Looper.java:136) 
04-08 10:12:17.220: E/ActivityThread(15378): at android.app.ActivityThread.main(ActivityThread.java:5102) 
04-08 10:12:17.220: E/ActivityThread(15378): at java.lang.reflect.Method.invokeNative(Native Method) 
04-08 10:12:17.220: E/ActivityThread(15378): at java.lang.reflect.Method.invoke(Method.java:515) 
04-08 10:12:17.220: E/ActivityThread(15378): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
04-08 10:12:17.220: E/ActivityThread(15378): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
04-08 10:12:17.220: E/ActivityThread(15378): at dalvik.system.NativeStart.main(Native Method) 
04-08 10:12:17.235: I/log(15378): 111111111111111111111111111111z111111111111111 

04-08 10 : 12 : 17.254 : I/로그 (15378) : 111111111111111111111111111111111111111111111

답변

0

내가 로그에서 볼 수 있듯이, 당신은 등록을 취소 잊어 버린 방송 수신기. 코드 unregisterReceiver(myBroadcastReceiver);을 MainActivity의 onStop() 또는 onPause() 또는 onDestroy() 방법에 추가하십시오.

이미 수신자를 등록 취소하는 경우 이전에 시도하십시오. 예를 들어 onDestroy() 방법의 등록을 취소 한 경우 onStop()으로 이동하십시오. 또는 등록 해제하려는 경우 onStop() 다음으로 이동하십시오 onPause()

+0

나는 onDestroy 메소드 만 사용했습니다. – user3500441

+0

그런 다음이 코드를 onPause() 또는 onStop() 메서드로 이동해보십시오. 왜냐하면 onDestroy() 메서드가 호출된다는 100 % 보장이 없기 때문입니다. 그러나 onPause()는 매번 100 %라고합니다. – Autocrab

+0

mainclassfalse 오류가 나타나는 경우 – user3500441

관련 문제