You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Video Intent href唤起MX Player Pro部分链接失效问题

问题原因

安卓系统解析intent:协议链接时,会通过内置的Intent.parseUri()方法做严格格式校验,只要链接内传入的视频播放地址段包含未做URL百分号编码的URL保留字符,就会判定整个Intent URI格式非法,自动触发兜底逻辑跳转到Google Play的MX Player Pro安装页。
两个链接表现不一致,本质是不规范写法的兼容概率问题:方括号[]属于RFC 3986标准规定的URL保留字符,直接裸写在地址里未做编码时,不同安卓版本、不同浏览器内核的解析容错逻辑不一致,第二个链接刚好在测试设备上被容错解析,第一个链接触发了校验失败,和文件本身、路径访问权限没有关系。

解决方法

完全不需要JavaScript,纯原生HTML即可实现全版本兼容,只需要做一步处理:

  • 把所有要播放的视频HTTP地址做标准URL百分号编码,所有保留字符(方括号、空格、中文、特殊符号等)全部替换为对应编码值,比如[编码为%5B,]编码为%5D,再把编码后的地址放到intent协议的对应位置即可。
修正后的代码示例
<li>
  <a href="intent:http://192.168.0.64/media/So.You.Think.You.Can.Dance.S17E01.720p.WEB.h264-BAE%5Brarbg%5D/So.You.Think.You.Can.Dance.S17E01.720p.WEB.h264-BAE.mkv#Intent;package=com.mxtech.videoplayer.pro;end">
    test1
  </a>
</li>
<li>
  <a href="intent:http://192.168.0.64/media/The.Humans.2021.720p.AMZN.WEBRip.800MB.x264-GalaxyRG%5BTGx%5D/The.Humans.2021.720p.AMZN.WEBRip.800MB.x264-GalaxyRG.mkv#Intent;package=com.mxtech.videoplayer.pro;end">
    test2
  </a>
</li>

注意:哪怕个别未编码的链接碰巧可以正常唤起,也建议所有链接都做编码处理,否则在不同浏览器、不同安卓版本上会随机出现解析失败的问题,编码后可以兼容安卓4到安卓14的所有版本,所有基于Chromium、系统原生内核的浏览器都能正常唤起MX Player Pro播放。

内容的提问来源于stack exchange,提问作者Vincent Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 07:16:02