Android >= 4.0 でonAppLeave
/イベントを実装しようとしています。onAppReturn
これらは、ユーザーがアプリを離れて (別のアプリに移動する、ホームを押すなど)、アプリに戻ったときに発生する必要があります (つまり、アプリは以前はフォアグラウンドになかった場所に移動します)。現在、アプリ内のすべてのアクティビティからのライフサイクル コールを追跡し、ライフサイクル コールの順序に基づいてイベントを発生させるタイミングを決定しています。複数のデバイスでテストした結果、同じアプリ内のアクティビティ間のライフサイクル イベントは次の順序で発生するようです。
Time Activity A Activity B
---- ---------- ----------
| onPause
| onStart
| onResume
v onStop
これが正しいと仮定すると、
- アプリ内の 1 つのアクティビティからの
onAppLeave
イベントが、アプリ内の別のアクティビティからonStop
先行されていない場合に、イベントを発生させることができます。onResume
- アプリ内の 1 つのアクティビティで、アプリ内の別のアクティビティが先行していない場合に、
onAppReturn
イベントを発生させることができます。onStart
onPause
このロジックは正しいですか?これらの仮定が無効になる状況はありますか?