Android WebviewFragment加载Facebook链接出现ERR_UNKNOWN_URL_SCHEME错误
解决Android WebView加载Facebook页面跳转到fb://协议报错的问题
嘿,这个问题我之前帮不少开发者处理过,本质是Facebook的网页跳转逻辑悄悄变了:现在它会自动检测设备是否安装了官方Facebook应用,一旦检测到就会触发跳转到fb://page/xxxxxxxxx这类自定义协议链接,而Android WebView默认只支持http/https协议,没法识别fb://,所以才抛出net:ERR_UNKNOWN_URL_SCHEME错误。
不用改应用代码的解决方案(只调链接就行)
既然你不想动应用代码,那咱们直接从domain.com/facebook.html里的跳转链接下手,有两个靠谱的修改方向:
1. 强制Facebook加载纯网页版(首推)
修改页面里<meta-equiv="refresh">标签的目标URL,给Facebook页面链接加上强制使用网页版的参数,让它跳过唤起应用的逻辑:
- 原FB链接示例:
https://www.facebook.com/your-page-id - 修改后链接示例:
https://www.facebook.com/your-page-id?no_redirect=1&mibextid=ZbWKwL
或者直接用桌面版链接(稳定性更高,完全不会触发移动端的应用跳转):https://www.facebook.com/your-page-id?ref=noscript
2. 改用Facebook移动网页的非跳转路径
如果上面的参数偶尔失效,还可以直接用Facebook移动网页的特定路径,这类路径默认不会唤起应用:https://m.facebook.com/your-page-id?ref=bookmarks
验证步骤
改完domain.com/facebook.html里的跳转链接后,在Android设备的WebView里测试:
- 确认页面加载后停留在Facebook网页版,不会跳转到
fb://开头的链接 - 检查WebView能正常显示FB页面内容,没有报错提示
内容的提问来源于stack exchange,提问作者omega1
相关产品推荐
相关产品推荐

