应用程序在应用程序内打开

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

我已经在我的应用程序中实现了深度链接,可以打开我的应用程序(如果可用),但我的应用程序在其他应用程序中打开。我希望它应该从其他应用程序中打开。

这是我的深度链接代码。

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
    <data
    android:host="controller"
    android:path="/productDetail"
    android:scheme="lalaland" />
</intent-filter>

示例:如果我在 slack 中点击某个网址,它会在 slack 中打开我的应用程序( lalaland )。

android deep-linking
2个回答
3
投票

您受到用户执行深层链接的应用程序的支配。

恐怕这个问题没有解决办法。例如,Facebook Messenger 会破坏深层链接,导致它们在许多情况下无法使用,三星消息应用程序也是如此。

您在这里看到的是 Slack 劫持了深层链接并强制其在自己的应用程序中打开。


0
投票

前几天偶然发现了这个问题,并从Android文档中找到了以下解决方案(https://developer.android.com/guide/topics/manifest/activity-element参见有关

android:launchMode
的部分)

android:launchMode
元素上的
singleTop
singleInstance
更改为
<activity>
后,通用/深层链接现在将用户移至我的应用程序中,而不是在 Slack 应用程序中打开应用程序实例.

singleTop
允许同一活动的多个实例运行,而
singleInstance
只允许一个实例运行。

这是一个老问题,但我希望这可以帮助多年后偶然发现它的其他人(像我一样)!

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