如果用户在网站上,如何禁用 Android 应用程序链接?

cod*_*ker 6 android deep-linking android-app-links

假设有一个网站https://www.example.com 并且我们正在 使用以下意图过滤器在 Android 应用程序中收听https://www.example.com/product

<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>
Run Code Online (Sandbox Code Playgroud)

并且文件 assetlinks.json 也托管在 example.com 上

Android 应用程序链接按预期工作正常。

现在,如果用户转到浏览器并打开 example.com 并且用户单击将在应用程序中打开的https://example.com/product我们希望仅当用户在我们的网站上时阻止应用程序打开

任何帮助将不胜感激。

cod*_*ker 1

经过大量查找后,我找到打开网页而不是应用程序的唯一解决方法是从网页 -> 应用程序(重定向逻辑) -> 网站进行重定向。

我注意到一件重要的事情是,如果页面是用 React 或 Angular 开发并且不基于 JSP ,则永远不会调用该应用程序。在我们的例子中,我们使用 Tomcat 服务器,因此每当用户导航到不同的页面时,Android 系统就会知道浏览器中打开了一个新页面,这使得 Android 系统在侦听意图中指定的 url 时打开 Android 应用程序筛选。但是,如果页面是用 React 和 Angular 设计的,则不会发生这种情况。

现在,这对我来说真的很难描述,因为我不是 Web 开发人员,这是 Web 开发人员告诉我的,并且我在 JSP 和 React 页面上都经历过。