现在的位置: 首页 > 综合 > 正文

WebView的一次使用笔记

2013年08月03日 ⁄ 综合 ⁄ 共 1370字 ⁄ 字号 评论关闭

从另一个Activity跳转到下面这个Activity,并传了个网站过来:

package com.rss.rssreader;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class WebActivity extends Activity{
	WebView webView;
	WebSettings setting ;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		getWindow().requestFeature(Window.FEATURE_PROGRESS);
		webView = new WebView(this);
		setContentView(webView);
		setting = webView.getSettings();
//		setting.setBuiltInZoomControls(true);
//		setting.setJavaScriptEnabled(true);
		webView.setWebViewClient(new WebViewClient());
		webView.setWebChromeClient(new WebChromeClient(){
			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				setProgress(newProgress*100);
			}
		});
		Bundle b = getIntent().getExtras();
		webView.loadUrl(b.getString("link"));
	}
	
	@Override
	public void onBackPressed() {
		if(webView.canGoBack()){
			webView.goBack();
			return;
		}
//		webView.clearCache(true);
		webView.destroy();
		super.onBackPressed();
	}

}

需要网络权限:<uses-permission android:name="android.permission.INTERNET"/>

上面的代码能实现webView的简单使用,不过我发现如果setting.setJavaScriptEnabled(true);会导致打开一次网页然后退出程序再进入程序,程序无响应。并且使用次数多后,后台报警告不能删除缓存文件,代码webView.clearCache(true);也删除不了缓存文件。注意:一个Activity是发现不了这个问题的。(htc g17)

setWebViewClient   方法使得点击链接后能打开链接,不设置会请求浏览器打开。

goBack    方法:回到上一个页面。

抱歉!评论已关闭.