我正在开发一个接受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从外部打开此链接。
答案 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的原因,