質問のタイトルにあるように、スタックの途中で現在一時停止モードになっているアクティビティを「削除」/破棄/終了するための最良の方法を知る必要があります(特定のインスタンスではなく、特定の派生クラス)。
例:
スタックの現在の状態が次のようになっている場合:
ActivityD <-- top of the stack, currently forground
ActivityC
ActivityA
ActivityC
ActivityA
すべてのActivityCインスタンスを「クリア」するリクエストにより、スタックは次のようになります。
ActivityD <-- still top of the stack, currently forground.
ActivityA
ActivityA
アクティビティ起動モードまたはインテントフラグに依存することはしたくありません。私はそれらの使い方とその利点を知っています。
私が現在できることは、破棄する必要のあるすべてのアクティビティがリッスンするブロードキャストを送信し、ブロードキャストを受信したときにActivity.finish()を呼び出すことです。
それは機能していますが、ホスティングアクティビティが一時停止している場合でも受信者を登録する必要があり、一時停止したアクティビティから「finish()」メソッドが呼び出されるのが正しいかどうかはわかりません。
再開されたアクティビティからActivity.finish()メソッドを呼び出すのは正しいですか?
受信者をOnCreate()メソッドに登録し、OnDestroy()の登録を解除するのは正しいですか?
再開されたアクティビティからのブロードキャストを処理し、その時点からfinish()を呼び出すのは正しいですか?
スタックからアクティビティをクリアするための「Androidの方法」または知らないAPIはありますか?
前もって感謝します