在添加元数据标签之前,我的Android应用链接功能无法正常工作
this._router.navigate(['/'])
我读过here和here的建议。但是Google official documentation没有提到。
那么...真的需要吗?还是我做错了其他事情?
(当我提到“应用程序链接”不起作用时,我应注意深层链接有效,但Android仍显示“默认应用程序选择器对话框”)
更新#1 :
我正在Android 8.1上进行测试。我已经上传了<meta-data
android:name="asset_statements"
android:resource="@string/asset_statements"/>
文件。这是我处理深层链接的活动:
.well-known/assetlinks.json
答案 0 :(得分:1)
当您使用该元标记时,Android将在安装时验证“所有权”。仅在清单中带有该标签的情况下,您的应用才会打开而无需任何请求。我说的是选择器,您想打开哪个应用程序来处理清单中定义的URL。
您可以检查此命令以获取验证结果,它可以帮助您了解问题所在:
adb shell dumpsys package domain-preferred-apps
另请参阅有关文档:Verify Android App Links。
答案 1 :(得分:0)
好吧,@Michael回复后,我想我找到了原因。
网站将http重定向到https流量。并且,一旦我删除了<data android:scheme="http" />
,我就可以注释<meta-data>
标签。实际上,他们在文档中提到
仅当系统找到所有的匹配数字资产链接文件时 清单中的主机会执行此操作,然后将您的应用建立为默认 指定的网址格式的处理程序。
我想这同样适用于所有“主机”和“方案”,即使包含<meta-data>
也会覆盖该规则。
谢谢大家的回复。