Android导航深层链接-忽略查询

时间:2020-01-16 19:56:56

标签: android android-jetpack android-jetpack-navigation

我正在尝试为具有以下格式的网址添加深层链接:

<deepLink
        android:id="@+id/deep_link"
        android:autoVerify="true"
        app:uri="my.example.com/articles/{slug}" />

这会使传递到我的目的地的slug参数也包含查询(如果存在)。例如,URL my.example.com/articles/recent-article?utm=1导致slug参数为recent-article?utm=1

我尝试使用以下模式格式来尝试忽略查询,但URL不再正确匹配。

<deepLink
    android:id="@+id/deep_link"
    android:autoVerify="true"
    app:uri="my.example.com/articles/{slug}?*.*" />

有没有一种方法可以有效地忽略查询?

1 个答案:

答案 0 :(得分:1)

假设您使用的是最新的Navigation 2.2.0-rc04(或其他增加了对查询参数的支持的Navigation 2.2版本),听起来就像您点击this issue,其中没有查询参数的深层链接不要忽略查询参数。

该错误中提到的解决方法是包括一个虚拟参数:

<deepLink
    android:id="@+id/deep_link"
    android:autoVerify="true"
    app:uri="my.example.com/articles/{slug}?dummy={dummy} />