ActivityのisFinishingでわかること
公式ドキュメントのonDestroyの章では、以下2つのシナリオを区別するのに用いると書かれています。
- アクティビティが終了する(ユーザーがアクティビティを完全に閉じるか、アクティビティに対して finish() が呼び出さたことによる)。
- 構成の変更(デバイスの向きの変更やマルチウィンドウ モードなど)に伴いアクティビティが一時的に破棄される。
つまりは、Activityの破棄が構成の変更によるものか、それ以外かがわかります。
isFinishing
がtrue
になるのは、明示的にfinish()
をプログラム中で呼び出す他、ユーザのバックキー動作やアプリを閉じる動作をした場合です。
isFinishing
がfalse
になる場合
状況 | 動作確認 |
---|---|
画面回転をした時 | 済 |
マルチウィンドウに変わる時 | 未 |
isFinishing
がtrue
になる場合
状況 | 動作確認 |
---|---|
finish() 呼び出し |
済 |
バックキー押下時 | 済 |
実行中アプリ一覧から閉じられた時※1 | 済 |
※1 実行中アプリ一覧から閉じられた時