我似乎在我的应用中使用深层链接做错了。我有两个活动:查看网站帖子的帖子查看器和查看用户个人资料的个人资料查看器。以下是我根据Google深度链接指南设置的代码。
<activity
android:name=".ui.activity.ProfileActivity"
android:parentActivityName=".ui.activity.MainActivity">
<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:host="gab.ai"
android:pathPattern="/..*"
android:scheme="https" />
</intent-filter>
</activity>
<activity
android:name=".ui.activity.PostViewerActivity"
android:parentActivityName=".ui.activity.MainActivity">
<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:host="gab.ai"
android:pathPattern="/..*/posts/..*"
android:scheme="https" />
</intent-filter>
</activity>
我遗漏了意图处理代码,因为它是多余的。深层链接正常工作,但打开指向帖子查看器活动的URL时会出现一个奇怪的问题。
这完美无缺。点击https://url/等链接会打开对话框并仅列出一个选项在选择应用时,它会完美地打开正确的活动。
在这里,它变得奇怪。点击https://url/../posts/等网址时,Android系统会看到两个活动深层链接。 我的问题是如何解决这个问题?更改网址方案已经结束,而且我对于深层链接不够流畅,无法找到解决方法。
答案 0 :(得分:0)
在ProfileActivity
android:pathPattern="/..*"
等于/..*/posts/..*
,因为星号(&#39; *&#39;)匹配前一个字符的0到多次出现的序列。尝试使用转义字符\
,如docs