Android 深度导航 Link - 忽略查询

Android Navigation Deep Link - Ignore Query

我正在尝试为具有以下格式的 URL 添加深度 link:

<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}?*.*" />

有没有办法有效忽略查询?

假设您使用的是最新的 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} />