如何在 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.
我试过:
<data android:host="demoproject.com/demo" />
- none 的 URL-s 是 linked
prefixes: ['https://demoproject.com/demo']
- 所有具有 https://demoproject.com
域的 URL-s 都是 linked
有什么解决办法或者我做错了什么吗?
必须在IntentFilter中用pathPrefix
或pathPattern
定义:
<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
我有以下域: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.
我试过:
<data android:host="demoproject.com/demo" />
- none 的 URL-s 是 linkedprefixes: ['https://demoproject.com/demo']
- 所有具有https://demoproject.com
域的 URL-s 都是 linked
有什么解决办法或者我做错了什么吗?
必须在IntentFilter中用pathPrefix
或pathPattern
定义:
<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