次のアプリ起動時にアプリがクラッシュしたことを知るために、未処理の例外用の例外ハンドラーを追加しました。
@Override
public void uncaughtException(Thread thread, Throwable ex) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = preferences.edit();
editor.putString("crashed", "yes");
editor.commit();
}
次の方法でハンドラーを追加しました。
Thread.setDefaultUncaughtExceptionHandler(this);
問題は、ハンドラーを追加したため、エラー時にアプリの動作が異なることです。
ハンドラーを追加する前に、アプリがクラッシュしたことを知らせるポップアップが表示されました。
ここで、ハンドラーを追加した後、アプリがフリーズし、しばらくすると、アプリが応答しなくなったことと、もう待機するかどうかを通知するポップアップが表示されます。これは良い IMO ではありません。アプリケーションがクラッシュした後に適切に終了する方法はありますか?