android 深度链接 - 第一个路径前缀是动态的,但第二个不是
android deeplinking - the first path prefix is dynamic, but the second not
我有一个 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
,它触发并工作正常。但是用户是动态的。那么我该如何处理这种深度链接呢?
您可以查看 navGraphs here
在导航图表中
<deepLink
android:id="@+id/deepLink"
app:uri="mobilePhoneSystem.com/{userId}/registerDate" />
<argument
android:name="userId"
app:argType="string"/>
这应该适合你:
android:pathPattern="/.*/registerDate/.*/"
说明
: 这 。强制执行“任何字符之一”的模式。 .* 强制执行“任何字符的任何数字(或 none!)”。
结合这两者,..* 强制执行“任意数量的任意字符,但至少必须提供一个”
您可以使用库,它会为您解决问题github.com/airbnb/DeepLinkDispatch
您甚至可以直接获取您的 {user} 和 {date} 而不会增加任何麻烦
我有一个 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
,它触发并工作正常。但是用户是动态的。那么我该如何处理这种深度链接呢?
您可以查看 navGraphs here
在导航图表中
<deepLink
android:id="@+id/deepLink"
app:uri="mobilePhoneSystem.com/{userId}/registerDate" />
<argument
android:name="userId"
app:argType="string"/>
这应该适合你:
android:pathPattern="/.*/registerDate/.*/"
说明 : 这 。强制执行“任何字符之一”的模式。 .* 强制执行“任何字符的任何数字(或 none!)”。
结合这两者,..* 强制执行“任意数量的任意字符,但至少必须提供一个”
您可以使用库,它会为您解决问题github.com/airbnb/DeepLinkDispatch 您甚至可以直接获取您的 {user} 和 {date} 而不会增加任何麻烦