Launcher アクティビティから始めて、アプリがどのレベル (階層) にあるかを知る方法が必要です。
たとえば、ユーザーがショッピング アプリにいて、次のパスをたどるイメージ:
- 主なアクティビティ ---> 2. 購入する靴のリスト ----> 3. ショッピング カート ---> 4. チェックアウト
したがって、チェックアウトはレベル 4 になります。ユーザーが購入する靴だけを見ている場合は、レベル 2 になります。レポートにはこれが必要です (しかし、情報が多すぎると思います)。アプリで自分がどのレベル/セクションにいるのかを知りたいだけです。アクティビティのライフサイクルでこれを追跡するために何かを設計するにはどうすればよいですか?
更新: level と呼ばれる静的変数があり、アプリで Application を拡張したので、アクティビティが開始するたびにそれを 0 にリセットできます。次に、私のアクティビティで onstart と onstop レベルを調整しますが、これがすべてのシナリオを処理するかどうかはわかりません。
@Override
public void onStart() {
// TODO Auto-generated method stub
super.onStart();
sLevel++;
}
@Override
public void onStop() {
// TODO Auto-generated method stub
super.onStop();
sLevel--;
}
しかし、それは機能していません。すべてのアクティビティ (少なくとも 50 あります) は、baseActivity という抽象クラスから拡張されています。Base Activity は、レベルをメインにしたい場所です。最終的な目標は、ユーザーがどこから来たかを追跡できるようにすることです。エンドユーザーがアクティビティに到達するまでにたどった経路を報告する必要があります