具有“singleTask”启动模式的活动如何不是任务中的根活动?

时间:2015-10-14 00:45:12

标签: android android-activity launchmode

这是来自android文档的图片:

enter image description here

活动Y具有'singleTask'启动模式,但它不是任务中的根活动,即活动X.它是如何发生的?

UPD:

来自documentation

  

“singleTask”

     

系统创建新任务并在新任务的根目录下实例化活动。但是,如果活动的实例已存在于单独的任务中,则系统会通过调用其onNewIntent()方法将意图路由到现有实例,而不是创建新实例。一次只能存在一个活动实例。   注意:虽然活动在新任务中开始,但“后退”按钮仍会将用户返回到上一个活动。

2 个答案:

答案 0 :(得分:0)

单个任务仅表示此活动只能在cf网站上创建一次:http://inthecheesefactory.com/blog/understand-android-activity-launchmode/en

如果活动是否为root,则无关紧要。

  

singleTask:

     

此模式与标准和singleTop完全不同。一个活动   使用singleTask,launchMode只允许有一个实例   系统(a.k.a. Singleton)。如果有一个已存在的Activity实例   系统,整个Task hold实例将被移到顶部   而Intent将通过onNewIntent()方法传递。   否则,将创建新的活动并将其放置在适当的位置   任务。

答案 1 :(得分:0)

我认为答案是这个活动是以FLAG_ACTIVITY_SINGLE_TOP标志的意图启动的,因为意图的优先级高于xml标签。