如何实现Xamarin开发的UWP应用从浏览器触发深度链接?
解决方案:Windows 11 Edge中UWP Universal Link无法触发的问题
1. 验证Edge核心权限设置
- 打开Edge,进入
设置 > 隐私、搜索和服务 > 网站权限 > 关联的应用 - 确保允许网站打开已安装的应用选项处于开启状态
- 检查你的域名是否在“允许的网站”列表中,若不在,手动添加并授予权限
2. 确认windows-app-web-link的托管规范
- 确保文件放置在域名根目录的
.well-known子文件夹下,路径为https://你的域名/.well-known/windows-app-web-link - 服务器返回的
Content-Type必须为application/json,可通过浏览器开发者工具的网络面板验证 - 再次核对
packageFamilyName的准确性,确保和应用包清单中的完全一致(注意大小写和特殊字符)
3. 检查Windows 11系统级关联设置
- 打开
设置 > 应用 > 默认应用 > 按链接类型选择默认应用 - 找到你的自定义链接前缀(如
https://你的域名/myapp),确认默认应用设置为你的UWP应用 - 若未找到对应条目,可通过运行
cmd执行start https://你的域名/myapp/myendpoint测试,触发系统关联提示后选择你的应用并设为默认
4. 排查版本与缓存干扰
- 确保Windows 11安装了最新的累积更新(设置 > Windows更新)
- 将Edge浏览器更新至最新版本(设置 > 关于Microsoft Edge)
- 尝试使用Edge隐私窗口测试,排除缓存或扩展程序的干扰
5. 检查Smart App Control限制
- 打开
Windows安全中心 > 应用和浏览器控制 > Smart App Control - 若处于
开启状态,暂时切换为评估模式测试是否能唤起应用,确认后可将你的应用添加至允许列表
6. 补充应用清单的Uri声明(若缺失)
虽然你能通过Win+R唤起,但仍需确认Package.appxmanifest中是否正确声明了Uri关联:
<Applications> <Application Id="App" ...> <Extensions> <uap:Extension Category="windows.appUriHandler"> <uap:AppUriHandler> <uap:Host Name="你的域名" /> </uap:AppUriHandler> </uap:Extension> </Extensions> </Application> </Applications>
内容的提问来源于stack exchange,提问作者Sol
相关产品推荐
相关产品推荐

