1

私のアプリケーションには、3つのアクティビティA、B、Cがあります。アクティビティAは特定のrequestCodeでアクティビティBを開始し(そして返される結果を待っています)、アクティビティBはアクティビティCを開始しています。マニフェストでは、Cはそれを保存しないように設定されています。スタック上の履歴。ユーザーが続行すると、アクティビティBに送信されます。この時点で、バックスタックは下から上にABBのように見えます。一番下のBは正しいrequestCodeで開始されましたが、一番上のBはどのrequestCodeでも開始されていません。さて、私の質問は、一番上のBが作成されるのではなく、一番下のBが「再開」されるようにするにはどうすればよいでしょうか。また、マニフェストのBアクティビティに「singleTask」属性と「singleTop」属性を使用しようとしましたが、すでにスタックにあるアクティビティの同じインスタンスを使用していましたが、

4

1 に答える 1

0

実際、私は活動を開始するために使用されるさまざまな旗について読んでいて、FLAG_ACTIVITY_REORDER_TO_FRONT旗を見つけました。これは私が望んでいたことを正確に達成し、別のインスタンスを作成せずにすでにスタック上にあるアクティビティを再開し、既存のrequestCodesを発行または変更しません。

于 2012-11-08T20:54:16.587 に答える