ブラウザからリダイレクトされたときにアクティビティ インスタンスが作成されるという問題が発生しています。
問題は次のとおりです
。- アクティビティ A がブラウザを呼び出して、フラグを使用して何かを実行します FLAG_ACITIVTY_NEW_TASK
。ブラウザーは、アクティビティ A の指定された URL スキームを使用してアクティビティ A にリダイレクトします。リダイレクト後、アクティビティ A は、インテントからのトークンおよびその他のパラメーターをチェックします。アクティビティ A は、 によって意図をデフォルトにリセットしますsetIntent()
。
問題:-
インテントを設定した後、呼び出した場合の同じアクティビティで、getIntent()
ブラウザがアクティビティ A を呼び出すインテントが提供されます。
つまり、スタックは A-Browser Activity -A' のように見えます
A はアクティビティ A が作成される新しいインスタンスだと思いますが、実際の変更はアクティビティ A に反映されます。アラート ダイアログを表示すると同じ問題が発生します。バック スタックから A' をクリアすると、アクティビティ A にアラート ダイアログが表示されます。これは、ブラウザからリダイレクトを取得した後に表示されます。
そもそも、新しいインスタンスが作成されるとは思っていません(A')。
アクティビティ A の launchMode を signleTop に設定してシナリオを確認しましたが、同じ動作でした。
ご意見ありがとうございます。