介绍
如何在Android中使用WebView方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强> Android WebView的使用方法及与JS相互调用强>
<强> 1,添加网络权限强>
& lt; uses-permission Android: name=癮ndroid.permission.INTERNET",/在
<强> 2,WebSettings对访问页面进行设置。强>
WebView mWebView =, new WebView(这个); , WebSettings WebSettings =, mWebView .getSettings();//支持获取手势焦点,输入用户名,密码或其他 , mWebView.requestFocusFromTouch (); , webSettings.setJavaScriptEnabled(真正的),,//支持js , webSettings.setUseWideViewPort(真正的),,//将图片调整到适合webview的大小, , webSettings.setLoadWithOverviewMode(真正的),,//,缩放至屏幕的大小 , webSettings.setSupportZoom(真正的),,//支持缩放,默认为真实的。是下面那个的前提。 , webSettings.setBuiltInZoomControls(真正的),,//设置内置的缩放控件。 , webSettings.setDisplayZoomControls(假的),,//隐藏原生的缩放控件 , webSettings.setLayoutAlgorithm (LayoutAlgorithm.SINGLE_COLUMN);,//支持内容重新布局, , webSettings.supportMultipleWindows();,//多窗口, , webSettings.setCacheMode (WebSettings.LOAD_CACHE_ELSE_NETWORK);,//关闭webview中缓存, , webSettings.setAllowFileAccess(真正的),,//设置可以访问文件, , webSettings.setNeedInitialFocus(真正的),,//当webview调requestFocus时用为webview设置节点 , webSettings.setJavaScriptCanOpenWindowsAutomatically(真正的),,//支持通过JS打开新窗口, , webSettings.setLoadsImagesAutomatically(真正的),,//支持自动加载图片 , webSettings.setDefaultTextEncodingName (“utf-8");//设置编码格式
<强> 3页面加载方式强>
//加载一个网页: , mWebView.loadUrl (); ,//加载apk包中的一个html页面 , mWebView.loadUrl (); ,//加载手机本地的一个html页面的方法: , mWebView.loadUrl(“内容://com.android.htmlfileprovider/sdcard/test.html");
<强> 4,WebView的两个重要方法WebViewClient和WebChromeClient 强>
WebViewClient就是帮助WebView处理各种通知,请求事件的。
//打开网页时不调用系统浏览器,,而是在本WebView中显示: mWebView.setWebViewClient (new WebViewClient () {,, , ,@Override public 才能;boolean  shouldOverrideUrlLoading (WebView 看来,,String url), { ,,,view.loadUrl (url),, ,,,return 真实; ,,} });//将上面定义的webviewclinet设置给webview mWebView.setWebViewClient (webViewClient);
下面介绍WebView的一些事件:
WebViewClient mWebViewClient =, new webViewClient (), {, shouldOverrideUrlLoading才能(WebView 看来,,String url),,//才能在网页上的所有加载都经过这个方法,这个函数我们可以做很多操作。//比才能如获取url,查看url.contains(“添加”),进行添加操作 shouldOverrideKeyEvent才能(WebView 看来,,KeyEvent 事件);//重才能写此方法才能够处理在浏览器中的按键事件。 onPageStarted才能(WebView 看来,,String url, Bitmap 标识),;//这才能个事件就是开始载入页面调用的,我们可以设定一个加载的页面,告诉用户程序在等待网络响应。 onPageFinished才能(WebView 看来,,String url);//才能在页面加载结束时调用。同样道理,我们可以关闭loading 条,切换程序动作。 onLoadResource才能(WebView 看来,,String url),;//才能,在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。 onReceivedError才能(WebView 看来,,int 错误代码,,String 描述,String failingUrl);//才能,(报告错误信息) doUpdateVisitedHistory才能(WebView 看来,,String url, boolean isReload);//才能(更新历史记录) onFormResubmission才能(WebView 看来,,Message dontResend,, Message 重发);//才能(应用程序重新请求网页数据) onReceivedHttpAuthRequest才能(WebView 看来,,HttpAuthHandler 处理程序,,String 主机,String 领域);//才能(获取返回信息授权请求) onReceivedSslError才能(WebView 看来,,SslErrorHandler 处理程序,,SslError 错误),,//重才能写此方法可以让webview处理https请求。 onScaleChanged才能(WebView 看来,,float oldScale,, float newScale),,//才能,(WebView发生改变时调用) onUnhandledKeyEvent才能(WebView 看来,,KeyEvent 事件),,//才能(关键事件未被加载时调用), }如何在Android中使用WebView方法