アクティビティに onPause があるように、Android にはアプリケーション レベルの onPause がないことはわかっていますが、同様の機能が必要なようです。私は少し前に(ばかげた)質問をしました(http://stackoverflow.com/questions/9508301/checking-the-manner-in-which-an-activity-has-been-reanimated)そしてonPause/onResumeが与えることに気づきました私が探しているもの:アクティビティがバックグラウンドに追いやられているかどうかを知る機能(ホームボタン、別のアプリを開く、電話がスリープ状態など)。
問題は、アプリ内のあるアクティビティから別のアクティビティに移動すると、アクティビティでも onPause が起動することです。そのため、ユーザーがアプリでアクティビティからアクティビティに移動できるすべての方法を見つけ (15 から 25 まであります)、ユーザーが開始した各アクティビティ スイッチの直前にフラグを設定する道を進んでいます。次に、onResume でそのフラグをチェックしています。それが X の場合、ユーザーが開始した onResume であることがわかります。フラグが Y の場合、ホーム ボタンが押された、電話がスリープ状態になったなどの結果であることがわかります)。
これは、大きな厄介なクラッジのように思えます。より良い方法はありますか?
(混乱を避けるためにこれを追加します。私の目標は、アプリが何らかの理由でフォアグラウンドから離れたときにポップアップする(非常に迷惑なことはわかっています)パスコード画面を作成することです(画面がスリープ状態であっても)。 onPause/onResume を使用してパスコード アクティビティをポップするタイミングを確認しますが、アクティビティを変更するたびに onPause が起動するため、さらに追加する必要があります。)