项目里面需要用到一个第三方的账号,给的是一个第三方的链接,可以在链接里面进行登录注册找回密码等,其他的功能都可以用,就是注册账号的时候,点击获取验证码,就跳出了这个界面。
打了个断点。发现跳转其他链接的时候,比如登录或者点击忘记密码的时候,都是打开一个http或者https的url,但是点击获取密码的时候,打开的不是http的链接。webview无法识别这个链接,所以报了这个错err unknown url scheme。解决方法是重写webviewclient里面的shouldOverrideUrlLoading方法。
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("http://") || url.startsWith("https://")) {
view.loadUrl(url);
return false;
}else {//如果不是http开头的地址,就是走这里。
try {
Intent intent =new Intent(Intent.ACTION_VIEW, Uri.parse(url));
MyWebActivity.this.startActivity(intent);
}catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
网友评论