From db835439fcbee7bb9556fafe2b88e28489d73c45 Mon Sep 17 00:00:00 2001 From: lh <1209405678@qq.com> Date: Wed, 29 Nov 2017 09:43:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=AB=E7=A0=81=20=20=E7=85=A7=E7=9B=B8=20?= =?UTF-8?q?=20=E6=89=8B=E6=9C=BA=E7=8A=B6=E6=80=81=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 2 + .../com/qhclh/ytzh/home/MainActivity.java | 27 +++++++++ .../com/qhclh/ytzh/work/WorkFragment.java | 59 ++++++++++++++++++- app/src/main/res/values/strings.xml | 2 + 4 files changed, 89 insertions(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e23fa46..1288781 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,6 +10,8 @@ + + list_path; private LinearLayout work_breedingpoultry,work_carsmanager,work_scan; + private String scanStr = ""; @Override protected int setLayout() { return R.layout.fragment_work; @@ -84,8 +94,55 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener { }else if (view.equals(work_carsmanager)){ showToast("车辆管理"); }else if (view.equals(work_scan)){ - showToast("扫一扫"); + 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(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/res/values/strings.xml b/app/src/main/res/values/strings.xml index 48d665a..678ea2c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -16,4 +16,6 @@ 品种: 司机: 数量: + 请给予应用打开摄像头权限 + 请给予应用获取手机状态权限