多くの理由によりクラッシュする可能性があるアプリケーションがあります。私が欲しいのは、アプリケーションがクラッシュしたときに、それはすべての関連の通知を削除するべきであるということです。Androidアプリがクラッシュしたときにすべての通知を消去
public class CrashHandler implements UncaughtExceptionHandler {
private UncaughtExceptionHandler defaultUEH;
private NotificationManager notificationManager;
public CrashHandler(Context context) {
this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
}
public void uncaughtException(Thread t, Throwable e) {
if (notificationManager != null) {
try {
notificationManager.cancelAll();
} catch (Throwable ex) {
ex.printStackTrace();
}
}
notificationManager = null;
defaultUEH.uncaughtException(t, e);
}
}
と私のメインの活動では、私は上記のクラスと呼ばれる:
new CrashHandler(context);
をしかし、私は、アプリケーションとアプリケーションを実行するときクラッシュすると通知は削除されません!何か案が?
クラッシュに身を委ねるのではなく、あなたが震えるのを見てください**なぜ**クラッシュするのですか?アプリがクラッシュした場合、ほとんどの場合、メソッドを実行する機会はありません。クラッシュした場合、突然終了します。私はサービスを登録して、サービスonDestroy()のメソッドを実行することによっていくつかのトリックを行うことができるいくつかのことについてお読みください。しかし、それが本当に役立つなら、私は決してテストしていません。 – Opiatefuchs