目录
- 1.前言
- 2.WebView添加判断
- 3.总结
1.前言
WebView只识别https和http,当WebView读取到URL地址,执行URL并跳转至第三方App的页面,获得第三方App回调响应后,不能识别App回调数据URL的SCHEME信息,就会报错访问失败,未知错误。
2.WebView添加判断
Android使用WebView时,需要重写shouldOverrideUrlLoading()和onPageFinished(),我们在前者进行https和http的判断,如果不是这两种协议服务,就调用系统浏览器把识别不了的URL地址传进去,并创建Intent意图实例,使用startActivity(intent数据)打开浏览器并执行请问访问URL,如下:
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
try {
if (!url.startsWith("http:") ||!url.startsWith("https:")) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(url));
startActivity(intent);
return true;
}
}
catch (Exception e){
return false;
}
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
//这是本人业务的对话框方法。
loading.showContent();
}
});
3.总结
仅自己学习记录,如有错误,敬请谅解~,谢谢~~~