From ec3edcc4d2dd29bbd3a64308c65efc68ba50d649 Mon Sep 17 00:00:00 2001 From: lh <1209405678@qq.com> Date: Wed, 29 Nov 2017 10:33:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=AB=E4=B8=80=E6=89=AB=20=E6=96=B0?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=20=E6=96=B0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 3 + .../com/qhclh/ytzh/home/MainActivity.java | 3 +- .../com/qhclh/ytzh/work/WorkFragment.java | 64 ++--------- .../ytzh/work/scan/ScanResultActivity.java | 101 ++++++++++++++++++ app/src/main/res/layout/act_scanresult.xml | 8 ++ 5 files changed, 121 insertions(+), 58 deletions(-) create mode 100644 app/src/main/java/com/qhclh/ytzh/work/scan/ScanResultActivity.java create mode 100644 app/src/main/res/layout/act_scanresult.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1288781..3f3bc96 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -38,6 +38,9 @@ + list_path; private LinearLayout work_breedingpoultry,work_carsmanager,work_scan; - private String scanStr = ""; @Override protected int setLayout() { return R.layout.fragment_work; @@ -81,6 +73,11 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener { banner.startAutoPlay(); } + @Override + public void onResume() { + super.onResume(); + } + @Override public void onStop() { super.onStop(); @@ -94,55 +91,8 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener { }else if (view.equals(work_carsmanager)){ showToast("车辆管理"); }else if (view.equals(work_scan)){ - dongtaiQuanxian(); + startActivity(new Intent(getActivity(), ScanResultActivity.class)); } } - private static final int REQUEST_PERMISSION_CAMERA_CODE = 102; - - @AfterPermissionGranted(REQUEST_PERMISSION_CAMERA_CODE) - private void dongtaiQuanxian() { - String[] perms = {Manifest.permission.CAMERA}; - if (!EasyPermissions.hasPermissions(getActivity(), perms)) { - // Do not have permissions, request them now - EasyPermissions.requestPermissions(this, getString(R.string.permission_camera), - REQUEST_PERMISSION_CAMERA_CODE, perms); - } else { - // Already have permission, do the thing - scan(); - } - } - @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this); - } - - private void scan() { - IntentIntegrator integrator = new IntentIntegrator(getActivity()); - // 设置要扫描的条码类型,ONE_D_CODE_TYPES:一维码,QR_CODE_TYPES-二维码 - integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES); - integrator.setCaptureActivity(ScanActivity.class); - integrator.setPrompt("请扫描"); //底部的提示文字,设为""可以置空 - integrator.setCameraId(0); //前置或者后置摄像头 - integrator.setBeepEnabled(false); //扫描成功的「哔哔」声,默认开启 - integrator.setBarcodeImageEnabled(true); - integrator.initiateScan(); - } - - ///< 回调获取扫描得到的条码值 - @Override - public void onActivityResult(int requestCode, int resultCode, Intent data) { - IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); - if (result != null) { - if (result.getContents() == null) { - showToast("扫码取消!"); - } else { - showToast("扫描成功"); - scanStr = result.getContents(); - } - } else { - super.onActivityResult(requestCode, resultCode, data); - } - } } diff --git a/app/src/main/java/com/qhclh/ytzh/work/scan/ScanResultActivity.java b/app/src/main/java/com/qhclh/ytzh/work/scan/ScanResultActivity.java new file mode 100644 index 0000000..3779f42 --- /dev/null +++ b/app/src/main/java/com/qhclh/ytzh/work/scan/ScanResultActivity.java @@ -0,0 +1,101 @@ +package com.qhclh.ytzh.work.scan; + +import android.Manifest; +import android.content.Intent; +import android.support.annotation.NonNull; + +import com.google.zxing.integration.android.IntentIntegrator; +import com.google.zxing.integration.android.IntentResult; +import com.qhclh.ytzh.R; +import com.qhclh.ytzh.base.BaseActivity; + +import pub.devrel.easypermissions.AfterPermissionGranted; +import pub.devrel.easypermissions.EasyPermissions; + +/** + * Created by 青花瓷 on 2017/11/29. + */ + +public class ScanResultActivity extends BaseActivity { + private String scanStr = ""; + private boolean scanf = false; + + @Override + protected int setLayoutId() { + return R.layout.act_scanresult; + } + + @Override + protected void initView() { + + } + + @Override + protected void initData() { + + } + + @Override + protected void initOper() { + + } + + @Override + protected void onResume() { + super.onResume(); + if (scanf == false) { + dongtaiQuanxian(); + } + } + + + private static final int REQUEST_PERMISSION_CAMERA_CODE = 102; + + @AfterPermissionGranted(REQUEST_PERMISSION_CAMERA_CODE) + private void dongtaiQuanxian() { + String[] perms = {Manifest.permission.CAMERA}; + if (!EasyPermissions.hasPermissions(this, perms)) { + // Do not have permissions, request them now + EasyPermissions.requestPermissions(this, getString(R.string.permission_camera), + REQUEST_PERMISSION_CAMERA_CODE, perms); + } else { + // Already have permission, do the thing + scan(); + scanf = true; + } + } + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this); + } + + private void scan() { + IntentIntegrator integrator = new IntentIntegrator(this); + // 设置要扫描的条码类型,ONE_D_CODE_TYPES:一维码,QR_CODE_TYPES-二维码 + integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES); + integrator.setCaptureActivity(ScanActivity.class); + integrator.setPrompt("请扫描"); //底部的提示文字,设为""可以置空 + integrator.setCameraId(0); //前置或者后置摄像头 + integrator.setBeepEnabled(false); //扫描成功的「哔哔」声,默认开启 + integrator.setBarcodeImageEnabled(true); + integrator.initiateScan(); + } + + ///< 回调获取扫描得到的条码值 + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); + if (result != null) { + if (result.getContents() == null) { + showToast("扫码取消!"); + finish(); + } else { + showToast("扫描成功"); + scanStr = result.getContents(); + } + } else { + super.onActivityResult(requestCode, resultCode, data); + } + } +} diff --git a/app/src/main/res/layout/act_scanresult.xml b/app/src/main/res/layout/act_scanresult.xml new file mode 100644 index 0000000..f14841a --- /dev/null +++ b/app/src/main/res/layout/act_scanresult.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file