导航组件图中的贪婪匹配深层链接

时间:2020-03-04 10:38:42

标签: android android-architecture-navigation

通过深层链接,我试图导航到两个不同的片段。深层链接如下:

example.com/drink-water/ // a note deep link
example.com/reminders/take-trash-out/ // a reminder deep link

这是nav_graph.xml的样子:

<fragment
    android:id="@+id/noteDetails"
    android:name="com.example.NoteFragment"
    tools:layout="@layout/fragment_note">
    <argument
        android:name="noteId"
        app:argType="string" />
    <deepLink app:uri="example.com/{noteId}/"  />
</fragment>
<fragment
    android:id="@+id/reminderDetails"
    android:name="com.example.ReminderDetails"
    tools:layout="@layout/fragment_reminder">
    <argument
        android:name="reminderId"
        android:defaultValue=""
        app:argType="string" />
    <deepLink app:uri="example.com/reminders/{reminderId}/" />
</fragment>

我的问题是贪婪匹配。无论我如何尝试,始终都匹配第一个深度链接。我尝试使用具有顺序和优先级的自定义意图过滤器,更改xml文件中这些声明的顺序,但是每次我使用noteId:reminder%2Ftake-trash-out定向到NoteFragment时。更改注释深度链接不是解决方案。感谢您的所有帮助!

0 个答案:

没有答案