如何在 Android 上使用带有路径参数的 React Navigation 通用链接?

How to use React Navigation universal links with path parameters on Android?

我有以下域:https://demoproject.com

我想 link 所有带有 /demo 路径参数的 URL-s 和我在 Android 上的 React Native 应用程序,例如 URL https://demoproject.com/demo?a=1&b=2 将被 link 编辑,但任何其他具有相同域但不同路径参数的 URL 将被排除。

现在我正在像这样使用 React Navigation 5:

const linking = {
    prefixes: ['https://demoproject.com'],
    config: {
      DemoScreen: {
          path: '/demo/*'
      }
    }
};
<NavigationContainer linking={linking}>

AndroidManifest.xml

<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" />
      <data android:host="demoproject.com" />
</intent-filter>

链接本身工作正常,但问题是所有前缀为 https://demoproject.com 的 URL-s 都被 linked 而我只想要 URL-s /demo 路径参数被 linked.

我试过:

有什么解决办法或者我做错了什么吗?

必须在IntentFilter中用pathPrefixpathPattern定义:

<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" />
      <data android:host="demoproject.com" android:pathPrefix="/demo/" />
</intent-filter>

来源:https://developer.android.com/guide/topics/manifest/data-element#path