アプリケーションが強制終了、クラッシュ、または正常終了したかどうかを判断する必要があります。私の質問は次のとおりです。Android 環境でそのようなことをどのように行いますか。例外の処理は簡単です。Thread.setDefaultExceptionHandler を置き換えるだけです。難しいのは、強制終了を「通常」と区別するにはどうすればよいですか (バックプレス、ホームボタン + 長時間など)。
その理由は、ローカル データベースのコンテンツをサーバーに同期できるからです。そして、この操作を Main アクティビティの状態 1 でのみ許可し、状態 2 では許可しない十分な理由があります。ただし、ユーザーがプログラム内でデータベース関連のセマンティック エラーを見つけた場合、Main アクティビティの状態 2 で、その後、彼または彼女はそこに立ち往生することができます。
着信の中断やその他の構成の変更に備えるため、アプリケーションが状態 2 で動かなくなった場合、アプリを強制終了してから再度開いても、ユーザーはステージ 1 ではなくステージ 2 のままになります。
そのため、ユーザーが強制終了後にステージ 1 に戻り、データベースを同期できるようにする方法を残しておき、ユーザーの作業の大部分を保存できるようにします。