我有一个网址,例如https://www.mobilePhoneSystem.com/{user}/registerDate/{date}。因此,{user}
路径前缀是动态的。我只需要处理deeplinks,它包含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
)中添加任何用户时,它会触发并正常工作。但是用户是动态的。那么我该如何处理这种深度链接呢?
发布于 2020-10-08 16:51:15
这应该适用于你:
android:pathPattern="/.*/registerDate/.*/"
解释:执行“任何角色之一”的模式。.*强制执行“任何字符的任何数字(或无!)”。
将这两个字符组合在一起,..*强制执行“任意数量的字符,但至少必须提供一个字符”。
发布于 2020-07-23 10:47:41
您可以检查navGraphs 这里
在navGraph中
<deepLink
android:id="@+id/deepLink"
app:uri="mobilePhoneSystem.com/{userId}/registerDate" />
<argument
android:name="userId"
app:argType="string"/>
发布于 2021-05-28 13:08:58
您可以使用库,它将为您解决github.com/airbnb/DeepLinkDispatch问题,甚至可以直接获得{user}和{date},而无需添加任何麻烦。
https://stackoverflow.com/questions/63052263
复制相似问题