cari

Rumah  >  Soal Jawab  >  teks badan

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 hari yang lalu508

membalas semua(2)saya akan balas

  • 迷茫

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

    Apakah mod permulaan aktivitiA dalam senario 2?

    balas
    0
  • PHP中文网

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

    Dua kes penetapan singleTask

    • Apabila singleTask Activity yang anda mulakan bukan bahagian bawah tindanan (iaitu, terdapat Activity yang dimulakan sebelum itu), ia akan berada di bahagian atas tindanan semasa . Jika terdapat Activity padanya, ia akan Alih keluar. Ini adalah senario pertama anda.

    • Apabila singleTask Activity yang anda mulakan berada di bahagian bawah tindanan (iaitu, yang pertama Activity dimulakan), ia akan memulakan tindanan baharu, yang tidak sama kedudukan sebagai Activity yang dimulakan kemudian. Ini adalah senario kedua anda.

    balas
    0
  • Batalbalas