android studio github zxing开源库实现连续扫描并解决扫描过快问题

zxing集成很多关于扫描的功能,如果只需要实现简单扫描功能,可以使用他人改过的zxing库,比如https://github.com/yipianfengye/android-zxingLibrary简单快速的实现扫描以及界面定制,美中不足的是扫描框必须给定尺寸(dp)。
仅仅实现扫描功能参考上面的网址即可,要实现连续扫描的话需要更改zxing库内capturefragement的handleDecode函数。所以不能直接在build.gradle中添加依赖。而是需要先将上面网址中的lib-zxing复制下来放到自己项目的app同级文件夹下。
实现连续扫描请先参考上面的网址实现基本的扫描功能。
lib-zxing位置
下载后放置位置
将依赖库放到自己项目中后分别更改setting.gradle以及build.gradle(app)文件。
在这里插入图片描述
首先在setting.gradle中添加’:lib-zxing’告诉app有新的项目加进来了然后在build.gradle dependencies{}中添加 implementation project(’:lib-zxing’)将刚加进来的项目作为依赖。
在这里插入图片描述
在这里插入图片描述
现在已经将刚导入的lib-zxing作为项目依赖,可以正常使用扫描功能了。实现连续扫描需要 在captureFragment新建restartCcaream函数。
在这里插入图片描述

  //重新开始扫描
    private void restartCarema() {
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                if (handler != null) {
                    handler.restartPreviewAndDecode();
                }
            }
        },1000);
    }

然后在同文件handleDecode函数调用。
在这里插入图片描述

    public void handleDecode(Result result, Bitmap barcode) {
        inactivityTimer.onActivity();
        playBeepSoundAndVibrate();

        if (result == null || TextUtils.isEmpty(result.getText())) {
            if (analyzeCallback != null) {
                analyzeCallback.onAnalyzeFailed();
                if (handler != null) {
                    restartCarema();
                }
            }
        } else {
            if (analyzeCallback != null) {
                analyzeCallback.onAnalyzeSuccess(barcode, result.getText());
                if (handler != null) {
                    restartCarema();
                }
            }
        }
    }

到此便实现了连续扫描并且可以在restartCarema()中设置扫描间隔时间,现在为1000毫秒。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值