1

アプリケーションに問題があります。4 つのボタンがあり、1 つは他のアクティビティを開始するためのものです。アクティビティがa、b、c、dと呼ばれているとします。スタックに 100 ds の一時停止されたアクティビティを取得することなく、このアクティビティ間で変更できるようにしたいが、バック ヒストリは保存しておきたい。

つまり、a->b->a->c->d->a で、すべての a はアクティビティの同じインスタンスです

したがって、実際に私が望むのは、新しいアクティビティを開始するのではなく、アクティビティのまったく同じインスタンスを再開できるようにすることです。

可能?

4

2 に答える 2

6

はい、可能です。

mIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
mIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

このフラグをインテントに追加すると、新しいアクティビティを作成するのではなく、スタックの一番上にアクティビティが表示されます。

于 2012-07-11T07:06:47.457 に答える
0

アクティビティ「a」が自宅である場合は、次のフラグを追加できます。

    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

次に、戻ると、アプリケーションが終了します (他のすべてのアクティビティをクリアしたため) => doc

于 2012-07-11T07:10:39.870 に答える