先说监听返回键事件:
private long mExitTime; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK &&wv_my.canGoBack()){ wv_my.goBack(); return true; }else if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { exit(); return true; } return super.onKeyDown(keyCode, event); } public void exit() { if ((System.currentTimeMillis() - mExitTime) > 2000) { Toast.makeText(MainActivity.this, "再按一次退出", Toast.LENGTH_SHORT).show(); mExitTime = System.currentTimeMillis(); } else { finish(); System.exit(0); } } //设置监听返回键返回桌面,不退出程序 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ //启动一个意图,回到桌面 Intent backHome = new Intent(Intent.ACTION_MAIN); backHome.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); backHome.addCategory(Intent.CATEGORY_HOME); startActivity(backHome); return true; } return super.onKeyDown(keyCode, event); } webview: private void show(String str) { wv_my.loadUrl(str); //启用支持javascript WebSettings settings = wv_my.getSettings(); settings.setJavaScriptEnabled(true); settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL); settings.setUseWideViewPort(true); settings.setLoadWithOverviewMode(true) ; //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开 wv_my.setWebViewClient(new WebViewClient(){ @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { if (progressDialog == null) { progressDialog=new ProgressDialog(MainActivity.this);//网页没加载出来时显示的dialog提示 progressDialog.setMessage("数据加载中,请稍后。。。"); progressDialog.show(); wv_my.setEnabled(false);// 当加载网页的时候将网页进行隐藏 } super.onPageStarted(view, url, favicon); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 view.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { //super.onPageFinished(view, url); mStr=url;//获取网址链接 title=wv_my.getTitle().toString();//获取网页标题 if (progressDialog != null && progressDialog.isShowing()) { //progressDialog.cancel(); progressDialog.dismiss(); progressDialog = null; wv_my.setEnabled(true); } } }); }