WebView的使用

来源:互联网 发布:linux setlocale 编辑:程序博客网 时间:2024/06/04 17:40

把我的webview用法分析和记录一下。代码里面都有注释。

public WebView webView;webView = (WebView) view.findViewById(R.id.webViewBaseView);WebSettings settings = webView.getSettings();//JavaScriptsettings.setJavaScriptEnabled(true);settings.setJavaScriptCanOpenWindowsAutomatically(true);// 缓存的使用,WebSettings.LOAD_NO_CACHE(不用缓存)settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);settings.setDefaultTextEncodingName("UTF-8"); // 设置默认的显示编码//webView.addJavascriptInterface(new PersonPlugin(), "window");// new类名,交互访问时使用的别名webView.loadUrl(Url);//Url为要访问的网址/** * 监听 */webView.setWebViewClient(new WebViewClient() {//在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview//里跳转,不跳到浏览器那边。这个函数我们可以做很多操作,比如我们读取到某些特殊的URL,//于是就可以不打开地址,取消这个操作,进行预先定义的其他操作,这对一个程序是非常必要的。@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {//点击事件,继续用该WebView加载webView.loadUrl(url);return true;}//网络加载时调用@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);// Log.v("log", "==onPageStarted==="+url);}//加载完成时调用@Overridepublic void onPageFinished(WebView view, String url) {// Log.v("log", "==onPageFinished===" + url);super.onPageFinished(view, url);}//加载失败时调用@Overridepublic void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {Log.v("log", "==onReceivedError===" + description + "==" + failingUrl); view.loadUrl(errorHtml);}});webView.setWebChromeClient(new WebChromeClient() {//网页加载进度值@Overridepublic void onProgressChanged(WebView view, int newProgress) {// Log.v("log", "==newProgress===" + newProgress);super.onProgressChanged(view, newProgress);}//获取网页的title@Overridepublic void onReceivedTitle(WebView view, String title) {//Log.v("log", "==onReceivedTitle===" + title);super.onReceivedTitle(view, title);}});

按返回键时, 不退出程序而是返回上一浏览页面:

public boolean onKeyDown(int keyCode, KeyEvent event) {       if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {       mWebView.goBack();       return true;        }        return super.onKeyDown(keyCode, event);               }或者@Overridepublic void onBackPressed() {if (mWebView.canGoBack()) {mWebView.goBack();} else {super.onBackPressed();}}



1 0
原创粉丝点击