Android Zxing3.3.2扫描、生成、解析二维码,以及近距离无法识别的问题

时间:2022-11-18 18:59:27

Zxing目前最新版本3.3.2,打开摄像头就成功了Android Zxing3.3.2扫描、生成、解析二维码,以及近距离无法识别的问题,真正的极速扫描,效果喜人。


一、集成流程

1、克隆代码就不说了。

2、zxing项目巨大,我们只需要扫描部分的代码。

android、android-core、core目录代码以及资源拷贝到项目目录下。

Android Zxing3.3.2扫描、生成、解析二维码,以及近距离无法识别的问题

所有类都需要修改引用类路径,全局更新so easy!

这是我拷贝过后,未简洁过后的目录:

Android Zxing3.3.2扫描、生成、解析二维码,以及近距离无法识别的问题

使用方式:

调用CaptureActivity,传入指定参数即可

action=Intents.Scan.ACTION,即可。

也可传入其他指定参数,例如:

Android Zxing3.3.2扫描、生成、解析二维码,以及近距离无法识别的问题

二、自定义扫描页面

zxing还是非常灵活的,自定义还是非常方便。

1、扫描页面自定义

layout下面的capture.xml布局随意更改,我自己随意改的:

Android Zxing3.3.2扫描、生成、解析二维码,以及近距离无法识别的问题

2、扫描框大小自定义

修改CameraManager.java下面的常量MAX_FRAME_WIDTH、MAX_FRAME_HEIGHT大小即可。

Android Zxing3.3.2扫描、生成、解析二维码,以及近距离无法识别的问题

其他自定义可根据源码自行进行修改,就不献丑了。


三、近距离无法识别

先BB下,不喜请跳过

我遇到的坑,刚将zxing运行成功,做了一些修改后,在电脑上找个二维码扫描,一开相机就成功啦,真是喜人啊。后面自己生成二维码再试,遇到问题了,二维码已经放在框里了,为啥扫不到呀,反复修改代码,还是不行,最后找到原因是近距离无法扫描。

在网上找到的资料都已经过时了,无法使用,自己爬坑,看源码看了一整天,总算找到根本原因了,修改buildLuminanceSouce()方法,该方法是用于截取摄像头捕获到的图片:

修改为:

Android Zxing3.3.2扫描、生成、解析二维码,以及近距离无法识别的问题


四、二维码生成以及解析


1、生成二维码

调用QRCodeParse类中的方法createQRCode即可

Android Zxing3.3.2扫描、生成、解析二维码,以及近距离无法识别的问题


二、解析图片二维码

Android Zxing3.3.2扫描、生成、解析二维码,以及近距离无法识别的问题



源码地址:

Zxing: https://github.com/zxing/zxing

Demo:https://github.com/SpringSmell/quick.library/tree/master/zxing.library