您的位置:首页 > 移动开发

Android Webview新认识(获取cookie,所加载网页内的链接的url)

2017-12-14 17:52 603 查看

一、关于浏览器加载还是自己的webview加载的问题

mWebview.setWebViewClient(new WebViewClient());


只要调用上面的方法自然会调用自己的webview去加载url而不是通过浏览器去加载。

原因:如果不调用setWebViewClient方法,会调用app的浏览器去处理。默认的new WebViewClient()内shouldOverrideUrlLoading是return false,就是调用webview去处理url。

二、shouldOverrideUrlLoading return true 和false的区别

mWebview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//tvUrl.setText("URL:" + url);
//参数里这个url就是点击网页里面的链接的url
return false;
}

@Override
public void onPageFinished(WebView view, String url) {
//下面的代码是为了获取cookie
CookieManager cookieManager = CookieManager.getInstance();
String cookie = cookieManager.getCookie(url);
Log.i("wxbnb", "onPageFinished: " + cookie);
super.onPageFinished(view, url);
}
});


解释:

shouldOverrideUrlLoading(WebView view, String url) return ture表示由app来处理这个url,webview并不会加载这个url;

shouldOverrideUrlLoading(WebView view, String url) return false表示由webview来加载这个url,默认的mWebview.setWebViewClient(new WebViewClient());就是返回false。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐