Android SingleTask,SingleTop和Home Button

时间:2012-02-20 15:01:51

标签: android android-activity activity-stack

在我的应用程序中,有一种我不理解的行为。我的MainActivity A为SingleTask。 它也会调用Activity B SingleTask。 当我按下第二个活动中的Home按钮打开另一个应用程序时,之后我尝试按下我的应用程序按住Home按钮我总是去主Activity,我希望打开第二个活动,保持按下Home按钮时的状态。

我已经尝试将第二个活动设置为singleTop,但它不起作用。

任何帮助?

1 个答案:

答案 0 :(得分: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”,在launchMode="singleTask" B上使用Activity,这将提供您所描述的预期行为。