現在のアクティビティ(D
)から、特定のアクティビティ(X
)を超えるすべてのアクティビティを終了する必要があります。私は2つのケースを処理する必要があります。A - X
:特定のアクティビティの上にあるすべてのアクティビティを終了します(特定のアクティビティがスタックしている場合のみ)
A - X - C - D
A - B - C - D
あなたが第一の状況X
で見ることができるようにのようになりますスタックを殺害した後のでスタックにあります。
第2の状況では、X
はスタックされていないので、スタックは元のままです。
私がこれまでに試したのは、D
で、私はLocalBroadcastManagerを "どこにでも"送ります。私はLocalBroadcastにX
で登録します。 X
がスタック上にあるのであれば、それはLocalBroadcastを受けるだろうと私は経由して、「すべて自分上記活動」殺そう:
private BroadcastReceiver broadcast = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Intent intents = new Intent(XActivity.this, XActivity.class);
intents.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
};
しかし、これはで失敗します。
android.content.ActivityNotFoundException: No Activity found to handle Intent
母、私の目のおかげです。助けられたら同意してください:) – W4R10CK