假设有一个网站https://www.example.com我们正在听https://www.example.com/product在Android应用程序中使用以下意图过滤器
<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="www.example.com"
android:pathPrefix="/product"
android:scheme="https" />
</intent-filter>
文件资产链接。json也托管在示例中。通用域名格式
Android应用程序链接工作正常,如预期。
现在,如果用户进入浏览器并打开example.com和用户点击https://example.com/product将在应用程序中打开,但我们想阻止应用程序打开只有当用户在我们的网站上
任何帮助都将不胜感激。
嗯,根据Android官方文档,您需要从清单上的意图过滤器中删除可浏览类别。
https://developer.android.com/training/app-links/deep-linking
从文档为谁有困难打开一个网址和阅读文档:
包含BROWSABLE类别。要从Web浏览器访问意图筛选器,需要该类别。如果没有该类别,单击浏览器中的链接将无法解析到您的应用。
这意味着,如果你不想让浏览器直接指向你的应用,只需删除可浏览类别即可。这就是全部。
因此,您的清单如下所示:
<intent-filter android:autoVerify="true"
tools:ignore="AppLinkUrlError">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="www.example.com"
android:pathPrefix="/product"
android:scheme="https" />
</intent-filter>
您将得到一个“AppLinkUrlError”,以便添加;
tools:ignore="AppLinkUrlError"
来压制它。
在看了很多之后,我能找到的唯一解决办法是从web重定向,以打开web而不是应用程序-
我注意到,重要的一点是,如果页面是在React或Angular中开发的,并且不是基于JSP的,则永远不会调用该应用程序。在我们的例子中,我们使用的是Tomcat服务器,所以每当用户导航到不同的页面时,Android系统都会知道浏览器中打开了一个新页面,这使得Android系统在监听意图过滤器中指定的url时打开Android应用程序。然而,如果页面是在React和Angular中设计的,则不会发生这种情况。
现在,这对我来说真的很难描述,因为我不是一名web开发人员,这是web开发人员告诉我的,我在JSP和React页面方面都有经验。
我想网络开发者可能已经告诉你了。。。因为这都是关于URL,而不是内容。点击Chrome中的hold,然后“在新标签中打开”即可工作,而无需通过意向过滤器传递新的URL。。。你将无法从Chrome上读取URL,因此你可以放弃这种方法。
为了解决通过添加意图过滤器而产生的问题,您所能做的就是设置两个子域,然后只为其中一个子域进行过滤,同时仍然在这两个子域上显示相同的内容(需要HTML中的规范元标记),然后您可以像往常一样简单地使用页面,而不会触发意图过滤器。
为了仍然能够通过意向过滤器打开应用程序。。。只需添加一个按钮,该按钮链接到另一个子域,意图过滤器正在匹配该子域。其他方法可能不合逻辑或存在其他问题。
因此,我试图找出是否有可能深度链接当前未安装该应用程序的用户。以下是我试图做的:1)用户在移动浏览器中点击网站上的深度链接。2) 用户将被带到应用商店安装应用3)一旦安装,用户将被带到应用中特定内容的深层链接。 到目前为止,我发现的最接近Android应用程序安装横幅的东西,但这并不是我想要的。这可能吗? 以下是页面底部附近Android应用安装横幅的链接:https://medium.com/@
问题内容: 我有一个必须禁用的链接按钮。这适用于IE,但不适用于Firefox和Chrome。结构是- 内的链接。我无法在中添加任何容器(例如div / span) 我尝试了以下所有方法,但无法在Firefox上运行(使用1.4.2 js): 注意-我无法取消注册锚标记的click功能,因为它是动态注册的。而且我必须在禁用模式下显示链接。 问题答案: 您不能(以便携式方式)禁用链接。您可以使用其中
我在中有一个链接按钮,我必须禁用该按钮。这在IE上有效,但在Firefox和Chrome上不起作用。结构是-Link在中。我不能在中添加任何容器(如div/span)
我刚学会飞镖和扑腾。 谢了!
Google在这里有一个很好的页面展示了如何这样做:https://developer.android.com/distribute/tools/promote/linking.html 基本上,使用这段代码,它将打开Play Store到新apps页面: 我错过了什么?我肯定它非常简单,也许我需要进口的东西。 解决方案:导入Uri类是一个问题。我仍然不确定新的热键是什么来导入它。Apple-Sh
我被困在上一周,我无法上传即时应用apk。我发现“您的网站'sptechinfo.000webhostapp.com'尚未通过数字资产链接协议链接到您的应用。请通过数字资产链接协议将您的网站链接到您的应用” 我已经添加了assetlink.jsonAssetLink.json但仍然在Playstore上获得相同的错误。 我从这里验证了链接https://digitalassetlinks.goog