CaptureResultActivity.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /**
  2. *
  3. */
  4. package com.xzjmyk.pm.activity;
  5. import android.app.Activity;
  6. import android.content.Intent;
  7. import android.net.Uri;
  8. import android.os.Bundle;
  9. import android.util.Log;
  10. import android.view.KeyEvent;
  11. import android.webkit.DownloadListener;
  12. import android.webkit.WebSettings;
  13. import android.webkit.WebView;
  14. import android.webkit.WebViewClient;
  15. import com.uuzuche.lib_zxing.activity.CodeUtils;
  16. import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
  17. import com.xzjmyk.pm.activity.view.crouton.Crouton;
  18. import com.xzjmyk.pm.activity.view.crouton.LifecycleCallback;
  19. /**
  20. * @author RaoMeng
  21. */
  22. public class CaptureResultActivity extends Activity {
  23. private WebView mWebView;
  24. @Override
  25. protected void onCreate(Bundle savedInstanceState) {
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.activity_capture_result);
  28. initActivity();
  29. initData();
  30. }
  31. private void initActivity() {
  32. mWebView = (WebView) findViewById(R.id.result_webview);
  33. WebSettings webSettings = mWebView.getSettings();
  34. //允许加载JavaScript
  35. webSettings.setJavaScriptEnabled(true);
  36. //网页自适应屏幕
  37. webSettings.setUseWideViewPort(true);
  38. webSettings.setLoadWithOverviewMode(true);
  39. webSettings.setDomStorageEnabled(true);
  40. webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
  41. mWebView.setWebViewClient(new WebViewClient() {
  42. @Override
  43. public boolean shouldOverrideUrlLoading(WebView view, String url) {
  44. /*view.loadUrl(url);
  45. return true;*/
  46. return false;
  47. }
  48. });
  49. mWebView.setDownloadListener(new DownloadListener() {
  50. @Override
  51. public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
  52. Uri uri = Uri.parse(url);
  53. Intent intent = new Intent(Intent.ACTION_VIEW,uri);
  54. startActivity(intent);
  55. // finish();
  56. }
  57. });
  58. }
  59. private void initData() {
  60. Intent intent = getIntent();
  61. if (null != intent) {
  62. Bundle bundle = intent.getExtras();
  63. if (bundle == null){
  64. return;
  65. }
  66. if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS){
  67. String result = bundle.getString(CodeUtils.RESULT_STRING);
  68. Log.d("scanurl",result);
  69. if (CommonUtil.isWebsite(result)){
  70. mWebView.loadUrl(result);
  71. // finish();
  72. }else {
  73. Crouton crouton = Crouton.makeText(CaptureResultActivity.this, "您扫描的二维码不是网址", 0xffff4444, 1500);
  74. crouton.show();
  75. crouton.setLifecycleCallback(new LifecycleCallback() {
  76. @Override
  77. public void onDisplayed() {
  78. }
  79. @Override
  80. public void onRemoved() {
  81. finish();
  82. }
  83. });
  84. }
  85. }
  86. }
  87. }
  88. @Override
  89. public boolean onKeyDown(int keyCode, KeyEvent event) {
  90. if (keyCode == KeyEvent.KEYCODE_BACK){
  91. if (mWebView.canGoBack()){
  92. mWebView.goBack();
  93. return true;
  94. }
  95. }
  96. return super.onKeyDown(keyCode, event);
  97. }
  98. }