是否可以对深度链接 android 中的每个 pathPrefix 执行不同的操作?

问题描述

我正在研究 React Native 项目,但在深度链接 Android 时遇到问题。我有两个不同的 pathPrefix。比如说:

<data android:pathPrefix="/query" />

<data android:pathPrefix="/transaction" />

我想要的是:

  1. 如果我点击 https://my.domain/query,本机模式会出现并让我选择在应用程序或浏览器中打开它
  2. 但如果我点击 https://my.domain/transaction,它会自动将我定向到我的应用程序,而不会显示任何模式

我已阅读此 https://developer.android.com/training/app-links/verify-site-associations解决第二个问题,而且我已经这样做了。但没有像我想要的那样工作。

我已经试过了:

  1. 做两个不同的活动。 MainActivitySecondActivity。在 Main 中,我使用前缀 query,而在 SecondActivity 中,我使用前缀 transaction,在此活动中,我的意图过滤器具有 android:autoVerify="true" 以使应用程序链接正常工作。
  2. 我做了一个活动,但我有 2 个 inten-filter一个带有 android:autoVerify="true",另一个没有它。

两者都有相同的结果。它会自动将我定向到我的应用。

我的问题是,有可能有不同的动作吗?如果是这样,如何实现它?

谢谢

解决方法

你有没有尝试过这样的事情?

<activity ...>

  <intent-filter android:autoVerify="false">
    <action android:name="android.intent.action.VIEW" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data
      android:scheme="https"
      android:host="my.domain"
      android:pathPrefix="query" />
  </intent-filter>

  <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:scheme="https"
      android:host="my.domain"
      android:pathPrefix="transaction" />

  </intent-filter>

</activity>