1. ホーム
  2. android

[解決済み] FLAG_ACTIVITY_NEW_TASK 明確化必要

2022-02-07 13:25:57

質問内容

そこで、私の悩みは

  • App1を起動し、Screen1、Screen2の順で開いています。
  • App1をバックグラウンドにしたまま、Homeを押した。
  • App2 を開き、FLAG_ACTIVITY_NEW_TASK で App1.Screen1 を起動し、前に残したタスクで App1.Screen2 にいることを期待します。代わりに、私はApp1.Screen1にいて、システムはonNewIntent()を呼びました。

戻るを押すと、Sceen2とScreen1が再び表示されます。 他のインテント・フラグや起動モードは使っていません。

どなたか、何が起こっているのか説明してください。

解決方法は?

Androidには、アクティビティやタスクに関連するバグが大量にあります。

それにもかかわらず、GoogleはOSのバージョン間でタスクの挙動を変更し、開発者に通知しなかったので、それが一番腹立たしいです。

ジャカジャカ - アクティビティにフラグを設定しなかった場合(AまたはB)、あなたが説明している動作よりも 誤り .

そして、ドキュメントに問題はないと言っている人たちは、これを試してみてください。

  1. アクティビティA(起動アクティビティ)& B(両方ともデフォルトの起動モード)を持つアプリケーションを作成します。
  2. アプリケーションを起動する - アクティビティAのみでタスクが作成される。
  3. アクティビティAのボタンから、FLAG_ACTIVITY_NEW_TASKを指定してアクティビティBを起動します。
  4. ボタンを数回クリックすると、アクティビティBがタスクの中に複数回作成されるのがわかりますが、これはドキュメントに書かれている通りではありません。

ドキュメントがそうであることを証明するシナリオはもっとあります。 悪い/間違っている。