0

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

Time   Activity A    Activity B
----   ----------    ----------
 |     onPause
 |                   onStart
 |                   onResume
 v     onStop

これが正しいと仮定すると、

  • アプリ内の 1 つのアクティビティからのonAppLeaveイベントが、アプリ内の別のアクティビティからonStop先行されていない場合に、イベントを発生させることができます。onResume
  • アプリ内の 1 つのアクティビティで、アプリ内の別のアクティビティが先行していない場合に、onAppReturnイベントを発生させることができます。onStartonPause

このロジックは正しいですか?これらの仮定が無効になる状況はありますか?

4

1 に答える 1