2009-10-15 19 views
29

私が作成したサービス(service.MyService)をアンドロイドでアンバインドすると、DeadObjectExceptionに続いて が表示されます。android.os.DeadObjectException androidを修正する方法X

これはどういう意味で、この例外を修正することができますか教えていただけますか?

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) 
... 

ありがとうございます。

答えて

29

これは、サービスが既に停止していることを意味します(OSから強制終了したか、アプリケーションから停止した)。

この問題は、プロジェクトをデバッグするたびに発生しますか?

サービスのonDestroy()メソッドをオーバーライドし、どのイベントフローがそれにつながっているかを確認します。この方法を踏まずにDeadObjectExceptionを捕まえると、サービスがOSによって殺されているはずです。

+1

androidサービスにはどのonStop()がありますか?私はそれがonDestroy() –

+0

@ShailAdiを持っていると思うあなたは正しいです、アンドロイドサービスのopStopはありません – dhams

+0

解決策は、その活動が破壊されるようにホスティング活動でサービスを殺すことです? – ono

関連する問題