我使用AirBnB的DeepLinkDispatch处理应用程序中的深层链接,我希望匹配以下深层链接:
appscheme://productsSection/some/nested/product/categories/structure
appscheme://productsSection/some/nested/product/categories
appscheme://productsSection
根据我在文档中看到的内容,我可以配置一个深层链接路径,如:
@DeepLink("appscheme://productsSection")
@DeepLink("appscheme://productsSection/{topCategoryId}")
@DeepLink("appscheme://productsSection/{topCategoryId}/{subCategoryId}")
我的问题是我在编译时不知道嵌套路径有多深。
有没有办法配置库以匹配整个嵌套路径而不指定每个段,如@Deeplink("appscheme://productsSection/*")
,以便我可以手动处理URI路径并从中构建我的导航堆栈?
如果是这样,一个类的注释会是什么? (我只对匹配深层链接,而不是从路径段中提取路径段感兴趣)
作为一个注释,我还使用该库来处理应用程序各个部分的其他深层链接(匹配主要在URI主机和一个或两个路径段上完成),我不想删除库和手工处理所有深层链接。
谢谢!
答案 0 :(得分:1)
通过查看代码库,该库目前不支持此功能。
您可以尝试打开issue,看看他们是否可以添加支持。
在撰写本文时,鉴于您尝试实现的目标超出了库的范围,在AndroidManifest.xml
内部直接实现该方案并不容易,然后再去从那里?
<activity android:name=".MyDeepLinkActivity">
<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="appscheme" android:host="productsSection" />
</intent-filter>
</activity>
您可以详细了解如何设置here。