3

これは少し複雑な話です。

私は持っていActivity Aます。
Activity Aインテントを使用してブラウザーを開いて認証を行います。
これが完了すると、Web ページは URL にリダイレクトされます。Activity Bインテント フィルタが BROWSABLE に設定されており、URL はActivity BWeb ページを開くのではなく、ブラウザが起動するようなものです。

Activity Bしたがって、開いていますが、Chrome の「子」としてです。最近のアプリ ウィンドウに、元のアクティビティ A が表示され、次にActivity BChrome の下に表示されます。

アクティビティ B で起動したアクティビティはすべて、Chrome の子のままのようです。インテント フラグを使用してみましたFLAG_ACTIVITY_NEW_TASKが、何も変わらないようです。

Chrome には表示されないが、独自の新しいタスクの下に表示されるアクティビティ B からアクティビティを起動したいと考えています。理想的には、現在のタスクに戻りたいと思いますがActivity A、それが不可能な場合は、新しいタスクで十分です。

4

1 に答える 1

2

ここで説明されているように、singleTask 起動モードを使用してこれを実現できることに気付きました: http://www.intridea.com/blog/2011/6/16/android-understanding-activity-launchmode

基本的に、A と B を 1 つのアクティビティにまとめて、1 つのタスクに設定しました。Chrome がそれにリダイレクトすると、子として新しいタスクを作成するのではなく、元のタスクに戻ります。

于 2013-07-09T22:57:51.663 に答える