【问题标题】:android singleTask activityandroid singleTask 活动
【发布时间】:2013-03-07 14:19:57
【问题描述】:

查看活动生命周期,在androiddocumentation中找到以下图片:

如何将Activity Y 声明为singleTask?这是一项任务的首要任务!据我了解,它应该始终作为任务的根活动(位于堆栈的底部)。

【问题讨论】:

  • 仅仅因为 Activity 被声明为 singleTask 并不意味着它必须是根。
  • 我认为这也是一个令人困惑的图表。我相信他们试图说明 singleTask 的这一方面,在图中标记为:“如果活动已经是具有自己的后台堆栈的后台任务的一部分,那么整个后台堆栈也会出现在当前任务之上。”我现在没有时间拼凑一个,但一个快速测试应用程序可能会比图表或文档更清楚这一点。

标签: android android-activity activity-lifecycle


【解决方案1】:

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

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

【讨论】:

  • 如何定义 singleTask 不是问题。
【解决方案2】:

当我们像下面的代码 sn-p 那样定义您的活动时。

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

它不会创建新任务,而是在当前任务中叠加。但是当你这样定义时

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

它将创建一个新的任务 (com.some.somename) 以 Activity 作为根。

【讨论】:

    猜你喜欢
    • 2014-11-17
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 2012-02-25
    • 1970-01-01
    相关资源
    最近更新 更多