2013-03-07 142 views
1

展望活动周期,发现以下在android系统documentation图像:安卓singleTask活动

enter image description here

如何Activity Y声明为singleTask?它在任务的顶端!据我了解,它应该始终作为任务的根活动(位于堆栈的底部)。

+0

仅仅因为'Activity'被声明为'singleTask'并不意味着它必须是root。 – MCeley 2013-03-07 14:27:53

+0

我认为这也是一个令人困惑的图表。我相信他们正试图说明singleTask的这一方面,在图中标记为:“如果活动已经是具有自己的后退堆栈的后台任务的一部分,那么整个后退堆栈也会出现在当前任务之上“。目前我没有时间把它们放在一起,但是快速测试应用程序可能会比图表或文档更清楚。 – 2013-03-07 15:00:59

回答

0

您可以在AndroidManifest.xml中定义您的活动。将launchMode设置为singleTask:

 <activity 
     android:name="package.YourActivity" 
     android:launchMode="singleTask"/> 
+0

你如何定义singleTask不是问题。 – 2013-03-07 14:47:10

0

当我们像下面的代码片段一样定义您的活动时。

<activity 
    android:name="package.YourActivity" 
    android:launchMode="singleTask"/> 

它不会创建一个新的任务,而是在当前任务中堆积起来。但是,当你像这样定义

<activity 
    android:name="package.YourActivity" 
    android:launchMode="singleTask" 
    android:taskAffinity="com.some.somename"/> 

这将创建一个新的任务(com.some.somename)与活动的根。