从intent过滤器再次启动根活动时处理现有的根活动实例

Rob*_*ert 5 android task android-intent android-activity

我在处理我的应用程序的多个根(主)活动实例时遇到了困难.我的应用程序有一个意图过滤器,用于在从"电子邮件"应用程序打开电子邮件附件时启动我的应用程序.

我的问题是,如果我首先通过android应用程序屏幕启动我的应用程序,然后通过打开电子邮件附件启动我的应用程序,它会创建我的根活动的两个实例.

脚步:

  1. 启动根活动A,按回家
  2. 打开电子邮件附件,意图过滤器触发器启动根活动A.

是否可以在打开电子邮件附件时,当操作系统尝试启动我的应用程序时,它检测到已经有一个实例正在运行并使用该实例或删除/清除该实例?

Mor*_*itz 3

发送您自己的意图时,您可以通过提供意图标志来指定如何启动接收活动(请参阅 Intent.FLAG* 字段)。当您从完全不同的活动调用时,您可以在清单中的活动上设置 android:launchMode 。