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

Zxing目前最新版本3.3.2,打开摄像头就成功了,真正的极速扫描,效果喜人。

 

一、集成流程

1、克隆代码就不说了。

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

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

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

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

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

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

使用方式:

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

action=Intents.Scan.ACTION,即可。

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

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

二、自定义扫描页面

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

1、扫描页面自定义

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

2、扫描框大小自定义

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

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

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

 

三、近距离无法识别

先BB下,不喜请跳过

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

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

修改为:

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

 

四、二维码生成以及解析

 

1、生成二维码

调用QRCodeParse类中的方法createQRCode即可

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

 

二、解析图片二维码

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

 

 

源码地址:

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

Demo地址

 

 

你可能感兴趣的:(实用工具,开发框架)