使用zxing扫描二维码

1,添加依赖

implementation 'com.journeyapps:zxing-android-embedded:3.4.0'
implementation 'com.google.zxing:core:3.4.1'

2,添加权限

<uses-permission android:name="android.permission.CAMERA" />

3,注册 journeyapps 的 CaptureActivity

<activity android:name="com.journeyapps.barcodescanner.CaptureActivity"
    android:screenOrientation="fullSensor"
    tools:replace="android:screenOrientation" />

4,代码。可直接在“扫描二维码”按钮事件里写代码,也可以使用新的Activity。

代码只涉及很简单的两部分

第一部分 开启扫描

IntentIntegrator integrator =new IntentIntegrator(this);
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
integrator.setPrompt("扫描二维码");//底部的提示文字,设为""可以置空
integrator.setCameraId(0);//前置或者后置摄像头
integrator.setBeepEnabled(false);//扫描成功的「哔哔」声,默认开启
integrator.setBarcodeImageEnabled(true);//是否保留扫码成功时候的截图
integrator.initiateScan();

第二部分 获取扫描结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if (result !=null) {
        if (result.getContents() ==null) {
            LogUtil.e(TAG, "扫码取消!");
        }else {
            LogUtil.e(TAG,  "扫描成功: " + result.getContents());
        }
    }else {
        super.onActivityResult(requestCode, resultCode, data);
    }
}

 

上一篇:(lintcode)第463题整数排序


下一篇:CentOS7下安装JDK1.8