検索

ホームページ  >  に質問  >  本文

android - Activity singleTask后台切换错误

场景1:ActivityA启动ActivityB,ActivityB启动ActivityC,此时用户看到的是ActivityC。ActivityB的启动模式是singleTask。此时用户点击home键,再点击应用图标返回,看到的是ActivityC。

场景2:ActivityA启动ActivityB,ActivityB启动ActivityC,此时用户看到的是ActivityC。ActivityA的启动模式是singleTask。此时用户点击home键,再点击应用图标返回,看到的是ActivityA。

以上两个场景ActivityA都是App入口Activity。

我的问题是:为什么会出现场景2这样的现象,如果是因为入口Activity被设置了singleTask,点击应用图标时重启了入口Activity的话,场景2是没有问题的。但如果是这样,场景1里的ActivityA不应该也会被重启吗?用户看到的不应该是ActivityA了吗?为什么能够到ActivityC呢。总之我觉得这两个是非常矛盾的,希望了解的开发者给解释一下。

ringa_leeringa_lee2803日前504

全員に返信(2)返信します

  • 迷茫

    迷茫2017-04-17 17:26:09

    シナリオ 2 のアクティビティ A の起動モードは何ですか?

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 17:26:09

    2つの設定例singleTask

    • 開始した singleTaskActivity がスタックの一番下ではない場合 (つまり、前に開始された Activity がある場合)、それは現在のスタックの一番上になります。 Activity がある場合は削除されます。これが最初のシナリオです。

    • 開始した singleTaskActivity がスタックの一番下 (つまり、最初に開始した Activity) にある場合、同じ位置ではない新しいスタックが開始されます。 Activity スタックが後で開かれたためです。これは 2 番目のシナリオです。

    返事
    0
  • キャンセル返事