android - 有没有办法告诉清单合并不要将路径数据添加到意图过滤器
问题描述
我正在使用导航组件和导航图来处理深层链接。我添加了指向我的目的地的深层链接,如下所示
<deepLink app:uri="example://foo" />
意图过滤器文档提到:
如果过滤器指定了方案和权限,但没有指定路径,则具有相同方案和权限的所有 URI 都会通过过滤器,而不管它们的路径如何。
据此,uri likeexample://foo
应该与我的深层链接匹配。但是清单合并将此行添加到我的意图过滤器中,即使不向我的 uri 添加任何路径:
<data android:path="/" />
所以只有 aexample://foo/
是匹配的。有没有办法告诉清单合并或导航图从我的意图过滤器中删除此数据元素?
解决方案
Android 不允许您创建一个只intent-filter
匹配任何路径的路径:不可能编写一个匹配但不匹配的意图过滤器。example://foo
example://foo/something_random
根据这个问题,这是故意的:使用无路径的 uri likeapp:uri="example://foo"
意味着您希望完全匹配该空路径 - 即,/
而不是将每个路径与该权限和方案匹配。
推荐阅读
- blockchain - 交易在具有相同参数的监控交易之前被挖掘
- java - 无限滚动视图 firebase 实时数据库错误
- java - 使用 _barVisualizer.setAudioSessionId(audioSessionId); 时应用程序崩溃;
- django - RuntimeError:模型类 himalayadashbords.clients.models.Client 未声明显式 app_label 且不在 INSTALLED_APPS 中的应用程序中
- java - AlertDialog 不断崩溃
- python - Discord.py 成员具有特定角色
- api - Coinbase API 是否有结构化定义?
- java - 具有质量碰撞问题的二维粒子(JAVA)
- python - 需要为书店网络应用显示同一作者的书籍
- jquery - 在主页面显示/隐藏部分视图