2009-10-15 17 views
29

Kiedy android anuluje usługę, którą utworzyłem (service.MyService), widzę po DeadObjectException.Jak naprawić android.os.DeadObjectException android X

Czy możesz mi powiedzieć, co to znaczy i czy mogę naprawić ten wyjątek?

W/ActivityManager( 583): Exception when unbinding service 
com.mycompany/.service.MyService 
W/ActivityManager( 583): android.os.DeadObjectException 
W/ActivityManager( 583):  at 
android.os.BinderProxy.transact(Native Method) 
W/ActivityManager( 583):  at 
android.app.ApplicationThreadProxy.scheduleUnbindService(ApplicationThreadNative.java:516) 
W/ActivityManager( 583):  at 
com.android.server.am.ActivityManagerService.removeConnectionLocked(ActivityManagerService.java:9609) 
W/ActivityManager( 583):  at 
com.android.server.am.ActivityManagerService.killServicesLocked(ActivityManagerService.java:8515) 
... 

Dziękuję.

Odpowiedz

29

Oznacza to, że usługa została już zatrzymana - zabita z systemu operacyjnego lub zatrzymana z poziomu aplikacji.

Czy ten problem występuje za każdym razem podczas debugowania projektu?

Zastąp swoją metodę usługi onDestroy() i zobacz, do czego prowadzi przepływ zdarzeń. Jeśli złapiesz DeadObjectException bez przechodzenia przez tę metodę, twoja usługa powinna zostać zabita przez system operacyjny.

+1

Czy usługa Android ma jakąkolwiek funkcję onStop()? Myślę, że ma onDestroy() –

+0

@ShailAdi masz rację, nie ma opStop dla usługi android – dhams

+0

Rozwiązaniem jest następnie zabić usługę w działalności hostingu, jak działalność zostanie zniszczona? – ono

Powiązane problemy