Zxing扫码

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

代码

<cn.bingoogolapple.qrcode.zxing.ZXingView
        android:id="@+id/zbarview"
        app:qrcv_animTime="1000"
        app:qrcv_borderColor="@android:color/white"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:qrcv_borderSize="1dp"
        app:qrcv_cornerColor="@color/colorPrimaryDark"
        app:qrcv_cornerLength="20dp"
        app:qrcv_cornerSize="3dp"
        app:qrcv_isShowDefaultScanLineDrawable="true"
        app:qrcv_maskColor="#33FFFFFF"
        app:qrcv_rectWidth="200dp"
        app:qrcv_scanLineColor="@color/colorPrimaryDark"
        app:qrcv_topOffset="90dp" />

代码

public class MainActivity extends AppCompatActivity implements QRCodeView.Delegate{
    private QRCodeView mQRCodeView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mQRCodeView = findViewById(R.id.zbarview);
        mQRCodeView.setDelegate(this);

    }

    @Override
    public void onScanQRCodeSuccess(String result) {
        vibrate();
        Toast.makeText(this,result,Toast.LENGTH_SHORT).show();
        mQRCodeView.startSpot();
    }



    @Override
    public void onScanQRCodeOpenCameraError() {
        Toast.makeText(this,"错误",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onStart() {
        super.onStart();
        mQRCodeView.startCamera();//打开相机
        mQRCodeView.showScanRect();//显示扫描框
        mQRCodeView.startSpot();//开始识别二维码
        //mQRCodeView.openFlashlight();//开灯
        //mQRCodeView.closeFlashlight();//关灯
    }

    @Override
    protected void onStop() {
        mQRCodeView.stopCamera();
        super.onStop();
    }

    @Override
    protected void onDestroy() {
        mQRCodeView.onDestroy();
        super.onDestroy();
    }

    private void vibrate() {
        Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
        vibrator.vibrate(200);
    }
}

依赖

implementation 'cn.bingoogolapple:bga-qrcode-zxing:1.2.1'

猜你喜欢

转载自blog.csdn.net/qq_42828101/article/details/84779411