android二维码扫描 Zxing 3.X 使用与开启闪关灯

本文介绍了在Android Studio中使用Zxing 3.x进行二维码扫描的步骤,包括在build.gradle中添加依赖,自定义扫描界面,设置扫描格式,以及如何在onActivityResult中获取扫描结果。同时,文章详细讲解了如何在新版Zxing中轻松实现开关闪关灯功能,只需调用DecoratedBarcodeView的setTorchOn()和setTorchOff()方法。
摘要由CSDN通过智能技术生成

android二维码扫描 Zxing 3.X 使用与开启闪关灯

在Android studio中我们使用新版的二维码扫描要方便了很多只需要以下几个步骤:

1. 在app的build.gradle中添加

compile 'com.journeyapps:zxing-android-embedded:3.4.0'

2. 在需要调用的二维码界面的地方添加以下代码就可以调用扫描界面了。

IntentIntegrator integrator = new IntentIntegrator(activity);
integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);
//integrator.setCameraId(0);  // Use a specific camera of the device
integrator.setBeepEnabled(true);
integrator.setOrientationLocked(false);
integrator.setBarcodeImageEnabled(true);
integrator.setPrompt("");
integrator.setCaptureActivity(ScanActivity.class);
integrator.initiateScan();
  • integrator.setCaptureActivity(ScanActivity.class);为设置自定义界面。
  • integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);为设置支持的格式,比如二维码一维码的格式等,这里设置的是全格式支持。
public class ScanActivity extends Activity {
   

    private CaptureManager capture;
    private DecoratedBarcodeView barcodeScannerView;
    private boolean flag = true;
    private String photo_path;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scan);

        barcodeScannerView = (DecoratedBarcodeView) findViewById(R.id.viewfinder_view);

        capture = new CaptureManager(this, barcodeScannerView);
        capture.initializeFromIntent(getIntent(), savedInstanceState);
        capture.decode();
        setClick();
    }
    @Override
    protected void onResume() {
        super.onResume();
        capture.onResume();
    }


    @Override
    protected void onPause() {
        super.onPause();
        capture.onPause();
    }

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

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        capture.onSaveInstanceState(outState);
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {
        capture.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值