public class MainActivity extendsActivity {privateWebView webView;private String url = "https://wap.baidu.com/";
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}public voidinitView() {
webView=(WebView) findViewById(R.id.activity_webview);
webView.requestFocus();
webView.setHorizontalScrollBarEnabled(false);
webView.setVerticalScrollBarEnabled(false);
initWebView();
}
@SuppressWarnings("deprecation")
@SuppressLint("SetJavaScriptEnabled")private voidinitWebView() {
webView.getSettings().setJavaScriptEnabled(true);//设置 缓存模式
if (NetUtils.isNetworkAvailable(MainActivity.this)) {
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
}else{
webView.getSettings().setCacheMode(
WebSettings.LOAD_CACHE_ELSE_NETWORK);
}//webView.getSettings().setBlockNetworkImage(true);//把图片加载放在最后来加载渲染
webView.getSettings().setRenderPriority(RenderPriority.HIGH);//支持多窗口
webView.getSettings().setSupportMultipleWindows(true);//开启 DOM storage API 功能
webView.getSettings().setDomStorageEnabled(true);//开启 Application Caches 功能
webView.getSettings().setAppCacheEnabled(true);
onLoad();
}
@SuppressWarnings("deprecation")
@SuppressLint("SetJavaScriptEnabled")public voidonLoad() {try{
webView.setWebViewClient(newWebViewClient() {
@Overridepublic voidonLoadResource(WebView view, String url) {
Log.i("tag", "onLoadResource url=" + url); //开始加载
super.onLoadResource(view, url);
}
@Overridepublic booleanshouldOverrideUrlLoading(WebView webview,
String url) {
Log.i("tag", "intercept url=" +url);//重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
webview.loadUrl(url);return true;
}
@Overridepublic voidonPageFinished(WebView view, String url) {
String title= view.getTitle(); //得到网页标题
Log.e("tag", "onPageFinished WebView title=" +title);
}
@Overridepublic void onReceivedError(WebView view, interrorCode,
String description, String failingUrl) {
Toast.makeText(getApplicationContext(),"加载错误",
Toast.LENGTH_LONG).show();
}
});
webView.loadUrl(url);
}catch(Exception e) {return;
}
}
@Override//设置回退//覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
public boolean onKeyDown(intkeyCode, KeyEvent event) {if ((keyCode == KeyEvent.KEYCODE_BACK) &&webView.canGoBack()) {
webView.goBack();//goBack()表示返回WebView的上一页面
return true;
}else{
finish();}
}/***
* 防止WebView加载内存泄漏*/@Overrideprotected voidonDestroy() {super.onDestroy();
webView.removeAllViews();
webView.destroy();
}
}