2012-02-20 64 views
4

在我的应用程序中有一个我不明白的行为。我的MainActivity A为SingleTask。 它也叫Activity B也是SingleTask。 当我在第二个活动中按Home按钮打开另一个应用程序,然后我尝试去我的应用程序保持按下按钮我总是去主Activity,我想打开第二个活动,以保持状态当我按Home按钮。Android SingleTask,SingleTop和Home Button

我试过设置然后第二个活动singleTop它不起作用。

任何帮助?

+0

使用singleTop为您的secondActivity,ity反映与singleTask相同的行为,但在同一堆栈中。 – 2012-02-20 15:05:02

回答

4

当在同一时间与singleTask定义主要活动活动后退堆栈的行为变得退出怪异:

<activity android:name=".MainActivity" 
    android:launchMode="singleTask"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

更糟的是有官方的开发者指南中关于这个特殊的用途没有明确的解释案件。有关此主题的部分甚至是自相矛盾的。

尝试在您的MainActivity A上使用launchMode =“standard”,在Activity B上使用launchMode="singleTask",这会给出您所描述的期望行为。

+0

这只是发生在我身上,你的解释帮我弄明白了。对我而言,我必须让“调用者任务”和目标任务都具有除singleTask或singleInstance之外的任何内容。一旦我这样做,它的工作。它在开发文档中有所解释,但以一种即使对于计算机科学专业来说也很难理解的方式 – 2012-10-05 17:53:55