Android中的深层链接和多个应用实例

问题描述 投票:3回答:2

我在清单文件中添加了此intent过滤器,并且深层链接正在运行。

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
     android:host="website.in"
     android:pathPrefix="/sometag/"
     android:scheme="https" />
</intent-filter>

问题是通过深度链接,我的应用程序将在当前应用程序之上启动。如果我在Gmail中并点击了一个链接,那么我的应用就会在Gmail上启动。

如果我的应用已经在后台运行,并且我点击了Gmail中重定向到我的应用的链接,我有两个同时运行我的应用的实例。一个在后台,另一个在Gmail之上。我想一次只运行我的应用程序的一个实例,因此它不在当前应用程序(Gmail)之上。

提到这个链接,但没有工作的解决方案:Deep linking and multiple app instances

android android-activity deep-linking
2个回答
4
投票

终于得到了我的问题的解决方案

android:launchMode="singleTask"

Android Manifest中并覆盖onNewIntent。并检查是否已创建现有实例。


1
投票

您应该使用Activity的launchMode属性(取决于您期望发生的事情)。 Documentation is here

© www.soinside.com 2019 - 2024. All rights reserved.