从另一个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 方法:回到上一个页面。