В приложении я разрабатываю, я использую Google Analytics для отслеживания пойманных исключений, как так:Как заставить нормальное поведение при сбое при использовании setDefaultUncaughtExceptionHandler()?
// ...after setting up Google Analytics...
Thread.setDefaultUncaughtExceptionHandler(new AnalyticsExceptionHandler(Thread.getDefaultUncaughtExceptionHandler()));
И это обработчик, то AnalyticsExceptionHandler класса:
public class AnalyticsExceptionHandler implements UncaughtExceptionHandler
{
// Private
private UncaughtExceptionHandler _defaultHandlerRef;
public AnalyticsExceptionHandler(UncaughtExceptionHandler defaultHandlerRef)
{
this._defaultHandlerRef = defaultHandlerRef;
}
@Override
public void uncaughtException(Thread t, Throwable e)
{
// ...track and send the exception to Google Analytics...
_defaultHandlerRef.uncaughtException(t, e);
}
}
Thing это приложение никогда не падает, оно просто зависает. Если я удалю строку setDefaultUncaughtExceptionHandler(), приложение будет нормально работать.
Я делаю что-то неправильно в приведенном выше коде, передавая его предыдущему обработчику по умолчанию?
Посмотрите на https://stackoverflow.com/questions/46070393/replacing-default-uncaught-exception-handler-to-avoid-crash-dialog это может помочь вам –