如何从最近使用中排除已导出的活动?

7

我有一个应用程序,其中包含一个导出的活动,可以从其他应用程序中调用(特别是共享操作-android.intent.action.SEND)。

如何将导出的活动排除在“最近使用的应用”列表之外?

我没有找到设置FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS标志的方法,因为它是从外部调用的。

我想这样做的原因是,这个意图成为我的活动堆栈中的最后一个,因此当点击“最近使用的应用”时,会重新共享文件,而不是弹出主要活动。

注意android:launchMode="singleTask"只能在特定情况下解决问题,即在另一个活动位于顶部的情况下。但是,这不是一个选项,因为它会干扰用户任务流程,并且如果没有其他应用程序的活动在根目录中,则无法正常工作。


2
在清单文件中给该Activity的<activity>元素添加 android:excludeFromRecents="true" 属性。 - Raghav Sood
多简单啊,我错过了,谢谢。 - AlikElzin-kilaka
1个回答

7

您可以在清单文件中的<activity>元素上添加android:excludeFromRecents属性,并将其值设置为true:

<activity
    android:name="XYZ"
    android:excludeFromRecents="true">

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接