ERR_UNKNOWN_URL_SCHEME
WebView加载网页出错:ERR_UNKNOWN_URL_SCHEME
以下的内容摘自CSDN博客,原文链接
原因
WebView 只识别标准的 URL 协议,如 http 和 https。对于自定义协议(如 weixin:// 和 qunaraphone://),WebView 无法识别,导致出现错误 ERR_UNKNOWN_URL_SCHEME。该错误表明 WebView 无法处理支付渠道提供的自定义协议。
解决方案
为处理自定义 URL 协议,您需要重写 WebViewClient 中的 shouldOverrideUrlLoading 方法。该方法允许您拦截并管理 WebView 中的 URL 加载行为,确保自定义协议得到正确处理。
示例实现:
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
if (url != null && url.startsWith("customscheme://")) {
// 处理自定义协议
return true
}
return false // 默认行为,处理标准协议
}通过实现此方法,您可以确保自定义 URL 协议根据应用需求正确重定向或处理,从而避免 ERR_UNKNOWN_URL_SCHEME 错误。
最后更新于
这有帮助吗?