Android:截取意图以我的活动附加到opener应用程序结束

Android:截取意图以我的活动附加到opener应用程序结束,android,android-intent,intentfilter,Android,Android Intent,Intentfilter,我开发了一个Android应用程序。我定义了一个意向过滤器,以便我的应用程序用于查看一些链接: <intent-filter> <data android:host="my_url.com" android:pathPrefix="/some_prefix/" android:scheme="http" /> <action

我开发了一个Android应用程序。我定义了一个意向过滤器,以便我的应用程序用于查看一些链接:

<intent-filter>
            <data
                android:host="my_url.com"
                android:pathPrefix="/some_prefix/"
                android:scheme="http" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>

当我打开一个像“my_url.com/some_prefix”这样的链接时,我的应用程序会显示在选择器上,如果选中,它将打开以显示链接

但是,我的活动已打开并附加到启动它的应用程序。比方说,打开链接后,链接显示在WhatsApp消息中,我的应用程序显示。如果我再次尝试打开WhatsApp,将显示我的活动,而不是WhatsApp


如何将我的应用程序与调用它的应用程序分离?

您的活动正在当前的“任务”中打开,即WhatsApp任务

你想要的是在新任务中打开你的应用程序

您可以在清单中的活动上设置一个标志:

android:launchMode="singleTask"
这将告诉android在另一个任务中打开您的活动


阅读有关任务的更多信息

您的活动正在当前“任务”中打开,即WhatsApp任务

你想要的是在新任务中打开你的应用程序

您可以在清单中的活动上设置一个标志:

android:launchMode="singleTask"
这将告诉android在另一个任务中打开您的活动


阅读更多关于任务的信息

我发现了一个问题。如果我的应用程序已启动,然后打开用我的应用程序打开的链接,因为没有创建活动(由于singleTask),我无法使用getIntent().getData()获取url;。我怎样才能得到链接?谢谢。我已经找到了解决方案并将其添加到您的awnser中。我发现了一个问题。如果我的应用程序已启动,然后打开用我的应用程序打开的链接,因为没有创建活动(由于singleTask),我无法使用getIntent().getData()获取url;。我怎样才能得到链接?谢谢。我找到了解决方案并将其添加到您的awnser中。