Я недавно столкнулся с этой ошибкой в своем приложении, где говорится, что DeadObjectException, такого никогда не было, и я получил уведомление об этом в Fabric (приложение установлено на десятках тысяч устройств).Это произошло на Galaxy J7 pop с ОС версии 6.
Вот журнал из Fabric:
Unable to stop service com.XXX.XXX.XXX.XXXX.services.IndoorOutdoorService@2c92060: java.lang.RuntimeException: Failure from system
android.app.ActivityThread.handleStopService
android.os.BinderProxy.transactNative (Binder.java)
android.os.BinderProxy.transact (Binder.java:503)
android.app.ActivityManagerProxy.broadcastIntent (ActivityManagerNative.java:3633)
android.app.ContextImpl.sendBroadcast (ContextImpl.java:847)
android.content.ContextWrapper.sendBroadcast (ContextWrapper.java:410)
com.XXX.XXX.XXX.XXXX.services.IndoorOutdoorService.broadcastShutdown (IndoorOutdoorService.java:230)
com.XXX.XXX.XXX.XXXX.services.IndoorOutdoorService.onDestroy (IndoorOutdoorService.java:59)
android.app.ActivityThread.handleStopService (ActivityThread.java:4165)
android.app.ActivityThread.access$2500 (ActivityThread.java:231)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1931)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:148)
android.app.ActivityThread.main (ActivityThread.java:7422)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)
Я посмотрел на строки в соответствии с журналом, но я не понимаю, в чем дело.
@Override
public void onDestroy() {
IndoorOutdoorLogger.d(IndoorOutdoorService.this, TAG, "IndoorOutdoorService was destroyed.");
cancelManager();
DetectionResult.saveDetectionTimeToCache(IndoorOutdoorService.this, System.currentTimeMillis());
IndoorOutdoorLogger.remove(logListener);
broadcastShutdown();
this.releaseWakeLock();
super.onDestroy();
}
// Broadcast a detection to the IO services.
private void broadcastShutdown() {
Intent i = new Intent(SHUTDOWN);
sendBroadcast(i);
}
Что может быть причиной этой ошибки и как я могу предотвратить ее повторение?