之前没有接触过这一部分的,就是简单使用webview来加载界面,然后把要显示的东西展示出来,最近因为项目的需求,需要实现图片的上传,然后最后就要求也能拍照,参考了很多的博客,也试了很多,遇到了很多的坑,花了一些时间,不过最后终于解决了,还是很高兴,所以打算写一篇博客来记录一下,
这也是我的第一篇博客,如果大家有好的想法还是可以给我提的。
这一部分应该不用解释的吧
好了废话不多说,代码中聊:
webview_online = (CustomWebView) findViewById(R.id.webview_online);
webview_online.setCookie(SharedpfUtils.getCookies(mContext));
WebSettings webSettings = webview_online.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setBlockNetworkImage(false);
webSettings.setDefaultTextEncodingName("utf-8");
webSettings.setAllowFileAccess(true);
webSettings.setUseWideViewPort(true);
webSettings.setSupportMultipleWindows(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setDisplayZoomControls(true);
webSettings.setSupportZoom(true);
webSettings.setAppCacheEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
这一部分应该不用解释的吧
webview_online.loadUrl(url);
// webview_online.setWebViewClient(new WebViewClient());
webview_online.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
System.out.println("有网络正常加载");
view.loadUrl(url);
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
System.out.println("页面开始加载");
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
System.out.println("页面加载结束");
super.onPageFinished(view, url);
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
view.loadDataWithBaseURL(baseUrl, errorHtml, "text/html", "UTF-8", null);
super.onReceivedError(view, request, error);
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
view.loadDataWithBaseURL(baseUrl, errorHtml, "text/html", "UTF-8", null);
super.onReceivedError(view, errorCode, description, failingUrl);