ScanActivity.java 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package cn.x1ongzhu.qrCodeScanner;
  2. import android.app.Activity;
  3. import android.app.AlertDialog;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.view.Window;
  8. import android.view.WindowManager;
  9. import android.widget.Toast;
  10. import cn.bingoogolapple.qrcode.core.QRCodeView;
  11. import cn.bingoogolapple.qrcode.zxing.ZXingView;
  12. public class ScanActivity extends Activity implements QRCodeView.Delegate, View.OnClickListener {
  13. private QRCodeView mQRCodeView;
  14. @Override
  15. protected void onCreate(Bundle savedInstanceState) {
  16. super.onCreate(savedInstanceState);
  17. requestWindowFeature(Window.FEATURE_NO_TITLE);
  18. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
  19. setContentView(getResources().getIdentifier("activity_scan", "layout", getPackageName()));
  20. findViewById(getResources().getIdentifier("btn_flash", "id", getPackageName())).setOnClickListener(this);
  21. findViewById(getResources().getIdentifier("btn_back", "id", getPackageName())).setOnClickListener(this);
  22. mQRCodeView = (ZXingView) findViewById(getResources().getIdentifier("zxingview", "id", getPackageName()));
  23. mQRCodeView.setDelegate(this);
  24. mQRCodeView.startSpotAndShowRect();
  25. }
  26. @Override
  27. public void onScanQRCodeSuccess(String s) {
  28. Toast.makeText(this, s, Toast.LENGTH_SHORT).show();
  29. Intent intent = new Intent();
  30. intent.putExtra("result", s);
  31. setResult(RESULT_OK, intent);
  32. finish();
  33. }
  34. @Override
  35. public void onScanQRCodeOpenCameraError() {
  36. new AlertDialog.Builder(this, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT).setMessage("无法打开摄像头").create().show();
  37. }
  38. @Override
  39. public void onClick(View v) {
  40. if (v.getId() == getResources().getIdentifier("btn_flash", "id", getPackageName())) {
  41. if (v.isActivated()) {
  42. mQRCodeView.closeFlashlight();
  43. v.setActivated(false);
  44. } else {
  45. mQRCodeView.openFlashlight();
  46. v.setActivated(true);
  47. }
  48. } else if (v.getId() == getResources().getIdentifier("btn_back", "id", getPackageName())) {
  49. finish();
  50. }
  51. }
  52. @Override
  53. protected void onDestroy() {
  54. super.onDestroy();
  55. mQRCodeView.stopCamera();
  56. mQRCodeView.closeFlashlight();
  57. }
  58. }