.NET MAUI Android应用深度链接仅部分生效问题求助
.NET MAUI Android深度链接唤起问题
问题描述
- 测试两个深度链接的表现:
https://il.co.lilo.journal_app_v2/bubu/1:可唤起应用,但返回浏览器时显示“无法访问站点”错误https://lilo.co.il/bubu/1:仅打开网页,无法唤起应用(核心待解决问题)
- 已完成的配置:
- 生成
assetlinks.json并放置在https://lilo.co.il/.well-known/assetlinks.json - 使用生成该文件的密钥库打包APK并安装
- 在
MainActivity.cs中配置了Intent Filter - 应用信息的“支持的网页地址”已显示站点URL,但官网链接仍无法唤起
- 生成
已配置的代码
MainActivity.cs中的Intent Filter
[IntentFilter(new[] { Android.Content.Intent.ActionView }, DataScheme = "http", DataHost = "lilo.co.il", DataPathPrefix = "/bubu", AutoVerify = true, Categories = new[] { Android.Content.Intent.ActionView, Android.Content.Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable })] [IntentFilter(new[] { Android.Content.Intent.ActionView }, DataScheme = "https", DataHost = "lilo.co.il", DataPathPrefix = "/bubu", AutoVerify = true, Categories = new[] { Android.Content.Intent.ActionView, Android.Content.Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable })] [IntentFilter(new[] { Android.Content.Intent.ActionView }, DataScheme = "http", DataHost = "il.co.lilo.journal_app_v2", DataPathPrefix = "/bubu", AutoVerify = true, Categories = new[] { Android.Content.Intent.ActionView, Android.Content.Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable })] [IntentFilter(new[] { Android.Content.Intent.ActionView }, DataScheme = "https", DataHost = "il.co.lilo.journal_app_v2", DataPathPrefix = "/bubu", AutoVerify = true, Categories = new[] { Android.Content.Intent.ActionView, Android.Content.Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable })]
测试网页HTML代码
<a href="https://il.co.lilo.journal_app_v2/bubu/1">https://il.co.lilo.journal_app_v2/bubu/1</a><br> <a href="https://lilo.co.il/bubu/1">https://lilo.co.il/bubu/1</a><br>
排查与解决步骤
解决官网链接无法唤起问题
验证assetlinks.json正确性
- 确认
package_name字段值为il.co.lilo.journal_app_v2 - 确认
sha256_cert_fingerprints为打包APK所用密钥库的SHA256指纹,无空格、大小写完全匹配 - 用Android Studio的App Links Assistant工具本地验证文件有效性
- 确认
修正Intent Filter的Categories配置
- 原配置中Categories重复包含
ActionView,这是错误的——ActionView已经是IntentFilter的触发动作,Categories只需保留CategoryDefault和CategoryBrowsable。修正后的Intent Filter示例:[IntentFilter(new[] { Android.Content.Intent.ActionView }, DataScheme = "https", DataHost = "lilo.co.il", DataPathPrefix = "/bubu", AutoVerify = true, Categories = new[] { Android.Content.Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable })]
- 原配置中Categories重复包含
检查网页链接的跳转情况
- 确认
https://lilo.co.il/bubu/1没有301/302跳转,若有跳转需确保目标地址仍匹配DataPathPrefix规则
- 确认
清除浏览器与应用缓存
- 清除浏览器的缓存和历史记录,重置应用的“默认打开方式”设置,避免旧规则缓存影响
解决应用ID链接返回浏览器报错问题
https://il.co.lilo.journal_app_v2/bubu/1并非标准自定义链接,浏览器会尝试解析该域名导致报错。建议改用标准自定义Scheme:- 添加新的Intent Filter:
[IntentFilter(new[] { Android.Content.Intent.ActionView }, DataScheme = "liloapp", DataPathPrefix = "/bubu", Categories = new[] { Android.Content.Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable })] - 网页链接改为:
<a href="liloapp://bubu/1">唤起应用</a>
- 添加新的Intent Filter:
内容的提问来源于stack exchange,提问作者adinas
相关产品推荐
相关产品推荐

