0

次のものを区別することは可能ですか。

A. OS によって破棄された後、アクティビティが再作成されています。たとえば、デバイスで「アクティビティを保持しない」が有効になっていて、ユーザーがアプリをバックグラウンドに送信してから、再びフォアグラウンドに移動した場合。

B. アプリのクラッシュ後にアクティビティが再作成されている。

4

2 に答える 2

1

そのような方法はないと思いますが、アクティビティがクラッシュしたときに onStop または OnDestroy が呼び出されるとは思いませんが、100% 確実ではありません。

そうでない場合は、onStop または onDestroy で共有設定を設定します。つまりshutdownCorrectly、これを true に設定します。

次に、アクティビティが開いshutdownCorrectlyたら、共有設定で通常のコードが実行され、共有設定が false に設定されていることを確認します。確認時に共有設定が false の場合は、アプリがクラッシュしたことを意味するため、他のコードを実行できます。

お役に立てれば。

于 2013-07-19T15:03:16.207 に答える
1

Thread.UncaughtExceptionHandlerというインターフェースが利用可能で、未処理の例外によるクラッシュを検出できます。

例:こちらをご覧ください

于 2015-10-19T09:16:24.373 に答える