android深度链接-第一个路径前缀是动态的,但第二个不是



我有一个url,例如。https://www.mobilePhoneSystem.com/{user}/registerDate/{date}。因此{user}路径前缀是动态的。我只需要处理包含registerDate的深度链接。我在我的清单上写了这样的

<!-- Deep linking-->
        <intent-filter>
            <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"
                android:host="/www.mobilePhoneSystem.com"
                android:pathPrefix="/registerDate" />
        </intent-filter>
    </activity>

但它不会触发。当我在mainfest中添加任何用户时,例如pathPrefix=/user111/registerDate,它会触发并正常工作。但是用户是动态的。那么我该如何处理这种类型的深度链接呢?

这应该适用于您:

android:pathPattern="/.*/registerDate/.*/"

解释:。强制执行";任何字符中的一个";。.*强制执行";任何字符的任何数字(或没有!(";。

将这两者结合起来,..*强制执行";任何数量的任何字符,但必须提供至少一个";

您可以在此处查看navGraphs

在导航图

<deepLink
    android:id="@+id/deepLink"
    app:uri="mobilePhoneSystem.com/{userId}/registerDate" />
       
<argument
    android:name="userId"
    app:argType="string"/>

您可以使用库,它将为您解决github.com/airbnb/DeepLinkDispatch问题您甚至可以直接获得您的{用户}和{日期},而无需任何额外的麻烦

相关内容

  • 没有找到相关文章

最新更新