CommonWebviewActivity.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package com.xzjmyk.pm.activity;
  2. import android.app.Activity;
  3. import android.app.AlertDialog;
  4. import android.content.DialogInterface;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.view.KeyEvent;
  9. import android.webkit.DownloadListener;
  10. import android.webkit.WebSettings;
  11. import android.webkit.WebView;
  12. import android.webkit.WebViewClient;
  13. import com.common.file.DownloadUtil;
  14. /**
  15. * 公共网页打开页面
  16. * Created by RaoMeng on 2016/9/14.
  17. */
  18. public class CommonWebviewActivity extends Activity {
  19. private WebView mWebView;
  20. private String mUrl;
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_common_webview);
  25. mWebView = (WebView) findViewById(R.id.webview);
  26. WebSettings webSettings = mWebView.getSettings();
  27. //允许加载JavaScript
  28. webSettings.setJavaScriptEnabled(true);
  29. //网页自适应屏幕
  30. webSettings.setUseWideViewPort(true);
  31. webSettings.setLoadWithOverviewMode(true);
  32. webSettings.setDomStorageEnabled(true);
  33. mWebView.setWebViewClient(new WebViewClient() {
  34. @Override
  35. public boolean shouldOverrideUrlLoading(WebView view, String url) {
  36. /*view.loadUrl(url);
  37. return true;*/
  38. return false;
  39. }
  40. });
  41. mWebView.setDownloadListener(new DownloadListener() {
  42. @Override
  43. public void onDownloadStart(final String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
  44. Log.d("weburl", url);
  45. String fileName = url.substring(url.lastIndexOf("/") + 1);
  46. // fileName=fileName.split("&")[3].split("=")[1];
  47. new AlertDialog.Builder(CommonWebviewActivity.this)
  48. .setTitle("提示").setMessage("确定下载文件" + fileName + "吗?")
  49. .setNegativeButton(R.string.cancel, null)
  50. .setPositiveButton(R.string.sure, new DialogInterface.OnClickListener() {
  51. @Override
  52. public void onClick(DialogInterface dialog, int which) {
  53. DownloadUtil.DownloadFile(CommonWebviewActivity.this, url, "/sdcard/uu");
  54. }
  55. }).create().show();
  56. }
  57. });
  58. Intent intent = getIntent();
  59. mUrl = intent.getStringExtra("scan_url");
  60. mWebView.loadUrl(mUrl);
  61. }
  62. @Override
  63. public boolean onKeyDown(int keyCode, KeyEvent event) {
  64. if (keyCode == KeyEvent.KEYCODE_BACK) {
  65. if (mWebView.canGoBack()) {
  66. mWebView.goBack();
  67. return true;
  68. }
  69. }
  70. return super.onKeyDown(keyCode, event);
  71. }
  72. @Override
  73. protected void onDestroy() {
  74. super.onDestroy();
  75. //防止WebView加载内存泄漏
  76. if (mWebView != null) {
  77. mWebView.removeAllViews();
  78. mWebView.destroy();
  79. }
  80. }
  81. }