Android意图参数FLAG_ACTIVITY_SINGLE_TASK丢失?

use*_*607 6 android android-intent

我刚刚注意到 Android 开发人员文档中不再提供参数 FLAG_ACTIVITY_SINGLE_TASK:

我只是想这样做:

removeCard.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TASK); 启动活动(删除卡);

我已经在 Google 的代码中看到过这样的参数,但 Java 编译器只是告诉我它不存在。

我只能使用此参数启动主要活动,但我必须配置清单文件才能执行此操作:

android:launchMode = "singleTask"

这不适用于应用程序启动时启动的主要活动以外的活动。

有人知道为什么这个参数对于 Intent 消失吗?

问候,弗兰茨

The*_*eIT 5

好吧,环顾四周后,我设法发现不存在诸如 FLAG_ACTIVITY_SINGLE_TASK 或 FLAG_ACTIVITY_SINGLE_INSTANCE 之类的东西,甚至也不存在。这是因为您正在寻找只能通过清单中定义的应用程序启动模式定义的值。只有 FLAG_ACTIVITY_SINGLE_TOP 可用作意图标志。因此,如果您想使用任何 singleTask、singleInstance、singleTop 或标准启动模式,则必须在清单中定义它们:

<activity
    android:name="com.company.ActivityName"
    android:launchMode="singleTask">
</activity>
Run Code Online (Sandbox Code Playgroud)

请参阅文档中的 launchMode 部分:http://developer.android.com/guide/topics/manifest/activity-element.html


rog*_*oom 1

android:launchMode = "singleTask"正确使用时应该适用于所有活动,并且您确定您没有引用FLAG_ACTIVITY_SINGLE_TASK仍然存在并且似乎执行您想要的操作的活动。

公共静态最终int FLAG_ACTIVITY_SINGLE_TOP

从以下版本开始: API 级别 1 如果设置,则如果活动已在历史堆栈顶部运行,则不会启动该活动。