Activity - 管理任务(3) 启动任务

可以设置一个 Activity 作为任务的入口点
方法是为该 Activity 提供一个 intent 过滤器,
并将 “android.intent.action.MAIN” 作为指定操作,
将 “android.intent.category.LAUNCHER” 作为指定类别。例如:

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

这种 intent 过滤器可在 应用启动器中 显示 Activity 的图标和标签,
让用户可以启动 Activity 并在启动后随时返回到 该 Activity 创建的任务。

第二个作用非常重要:
用户必须能够离开任务,之后再使用此 Activity 启动器返回到该任务。

因此,只有当 Activity 具有 ACTION_MAIN 和 CATEGORY_LAUNCHER 过滤器时,
才应使用 “singleTask” 和 “singleInstance” 这两种启动模式,
它们会将 Activity 标记为 始终启动任务。
比如,可以想象一下,如果缺少该过滤器会发生什么情况:
intent 会启动 “singleTask” Activity,随之启动新任务,
用户花了一些时间在该任务上。然后,用户按主屏幕按钮。
此时,该任务会转到后台,不再可见。
现在,用户无法返回到该任务,因为它未显示在 应用启动器中。

实际上并不是要求同时具有 ACTION_MAIN 和 CATEGORY_LAUNCHER

对于那些您不希望用户能够返回到 Activity 的情况,
请将 元素的 finishOnTaskLaunch 设置为 “true”(请参阅清除返回堆栈)。

本文转自 https://www.jianshu.com/p/e4f692ad6784,如有侵权,请联系删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值