android deeplink,强制从外部打开

时间:2019-01-09 10:34:47

标签: android firefox deep-linking deeplink

我正在开发一个接受Deeplink的android应用。例如,考虑以下这一点:

        <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="returnapp" android:scheme="testscheme" />
        </intent-filter>

因此,如果我们调用网址testscheme://returnapp/?status=1,则应打开应用。

在Google Chrome浏览器中它将打开,并且一切正常,但是在Firefox中,该应用程序将作为浏览器任务的子级(具有指向我的应用程序的链接)打开。但是我希望它可以独立打开。

那么有什么要添加的清单来强制使用此属性,还是应该在HTML href中添加一些关键字?

更新

我认为我应该更改Firefox中网页中显示的链接。目前,我正在使用此链接:

<h1><a href="testscheme://returnapp/?status=1">test</a></h1>

类似target="_system"的东西,告诉firefox从外部打开此链接。

1 个答案:

答案 0 :(得分:0)

浏览器本身需要支持和实现可浏览性。打开网页时,浏览器必须查找其他支持android.intent.category.BROWSABLE的活动。

正如您所说,不支持Firefox直接打开应用程序,但是您可以尝试的一种解决方案是在任意一个Web URL意图中添加 android:autoVerify =“ true” 应用清单中包含android.intent.action.VIEW意向操作和android.intent.category.BROWSABLE意向类别的过滤器,如以下清单代码片段所示:


    <intent-filter android:autoVerify="true">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:host="returnapp" android:scheme="testscheme" />
         </intent-filter>

尽管我仍然不确定由于android:autoVerify="true"是针对appLink而不是deepLink的原因,