具有可选查询参数的深层链接

时间:2019-04-12 10:46:12

标签: android android-architecture-components android-architecture-navigation android-deep-link

编辑:这是清单合并中的错误(缺少功能?)。它适用于Android Studio 3.5 Canary 5及更高版本。因此,您要做的就是每个uri添加一个<deepLink />。在我的情况下是

<deepLink
    android:id="@+id/deepLink"
    app:uri="https://www.example.com/foo?cn={cardNumber}&amp;bd={birthDate}"/>

<deepLink
    android:id="@+id/deepLink2"
    app:uri="https://www.example.com/foo?cn={cardNumber}"/>

我有一个"https://www.example.com/foo?cn=L349DA&bd=1982-03-12"形式的深层链接

然后我用

解析到导航图中
<deepLink
    android:id="@+id/deepLink"
    app:uri="https://www.example.com/foo?cn={cardNumber}&amp;bd={birthDate}"/>

一切正常。但是我的参数bd是可选的,因此不保证它将包含在url中。我们如何处理这种情况?

我在参数上尝试使用通配符*时没有运气。而且我尝试添加两个<deepLink .../>元素,但这会产生Manifest merger failed: Multiple destinations...错误。

谢谢!

1 个答案:

答案 0 :(得分:0)

在“ androidx.navigation:navigation-*:2.2.0-alpha02 ”中

2019年9月5日

带有查询参数的深层链接现在支持重新排序的查询参数;匹配深层链接时,具有默认值或可为空的参数现在是可选的。 (b/133273839

Android Developers Jetpack AndroidX Navigation