В моем приложении запущено несколько служб. Когда пользователь останавливает приложение (часть пользовательского интерфейса), службы продолжают работать в фоновом режиме и отображают уведомления (они есть у каждой службы) в строке состояния. При нажатии на нее появляется диалоговое окно с возможностью отмены соответствующей услуги.
И вот моя проблема. Когда что-то идет не так и приложение вылетает, уведомления остаются в области строки состояния. Можно ли очистить все уведомления перед отображением стандартного диалогового окна принудительного закрытия Android?
Настоящая ошибка - это NPE, когда я пытаюсь открыть действие, нажав на уведомление. Это фиксированная. Но я только хочу знать, как все очистить при сбое приложения.
Вот мое окончательное решение, вдохновленное постом мышей. В приложении в методе создания я регистрирую Thread.setDefaultUncaughtExceptionHandler ()
@Override
public void onCreate() {
super.onCreate();
this.notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
final UncaughtExceptionHandler defaultHandler = Thread.getDefaultUncaughtExceptionHandler();
UncaughtExceptionHandler appHandler = new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
this.notificationManager.cancelAll();
defaultHandler.uncaughtException(thread, ex);
}
};
Thread.setDefaultUncaughtExceptionHandler(appHandler);
}
спасибо