アプリのアクティビティがフォアグラウンドにないときにトーストを発行すると、トーストは引き続き画面に表示されます。アプリがバックグラウンドで実行されているときにトーストが表示されないようにするにはどうすればよいですか。つまり、現在表示されているアクティビティはありません。
自分のアクティビティが現在表示されているアクティビティではないことをどうにかして検出し、真の場合はトーストを発行しないようにする必要があると考えています。しかし、どうすればこの状態を検出できますか?
ありがとう
アプリがバックグラウンド (つまりonPause
) にある場合はフラグを設定し、フラグが設定されている場合はトーストを送信しません。
大量のアクティビティがある場合は、Activity
この機能をラップする独自の基本クラスを定義できます。
そのアクティビティに対してメソッドが呼び出されたときに変数またはインジケーターを設定して、onPause()
そのアクティビティがバックグラウンドに置かれたことを示し、呼び出されたときにそのインジケーターをオフにしてみましたonResume()
か?
次に、インジケーターがオフの場合は、そのトーストを発生させます。