6

私のアプリケーションでは、特定のアクティビティを開始するときに、同じパッケージ内のすべてのアクティビティを下のスタックからクリアしたいと考えています。誰かがこれを行う方法について私を助けてくれますか? android:noHistory="true"また、この特定のアクティビティの開始時にスタック履歴をクリアしたいだけなので、マニフェストで使用したくありません。

編集:

私の主張をより明確にするために、私が活動aを持っていると仮定します。aから活動を始めますb。bからcを始めます。しかし、c を開始すると、b と a をクリアしたいのです。

4

5 に答える 5

4

皆さん、スタッククリアアクティビティを開始するインテントを使用して次のコードを配置する必要があることがわかりました。

Intent i = new Intent(this,MyActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);

でもあなたの助けをありがとう。

于 2013-01-02T08:24:22.317 に答える
1

アクティビティが開始される前にフラグを設定します...アクティビティの開始後にフラグを設定するポイントは何ですか....コードは次のようになります。

Intent intent = new Intent(getContext(), ClassName.class);
intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP );
  v.getRootView().getContext().startActivity(intent);

  removeSessionFiles();
于 2013-01-02T06:11:00.340 に答える
1
Intent intent = new Intent(getApplicationContext(), YOUR_CLASS.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
于 2013-01-02T02:12:19.977 に答える
1

これを試して、

android:launchMode="singleTop"スタックされたすべてのアクティビティをクリアしたい特定のアクティビティに追加します。

次に、特定のアクティビティを開始するときにintent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)andを使用します。intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)

出典: Android: バックスタックをクリアする

于 2013-01-02T01:34:48.607 に答える