LibZXing
二维码扫描、生成库
转载请注明出处,http://blog.csdn.net/qq137722697
-
基于 ZXing:core_v3.3.0(最新版) 的封装,扫描速度快
-
可选相册中的二维码识别
-
可识别条形码
-
相册选择适配至android7.1
-
支持19种语言
详细使用方法见demo
博客更新没有github快,最新版见github
效果图
图片比较大,请耐心等待
How to
Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- 1
- 2
- 3
- 4
- 5
Step 2. Add the dependency
dependencies {
compile 'com.github.jwkj:LibZXing:v1.0.4'
}
- 1
- 2
- 3
生成二维码
生成一个300*300不带logo的二维码
QRCodeManager.getInstance().createQRCode("二维码内容", 300, 300);
- 1
生成一个300*300有logo的二维码
QRCodeManager.getInstance().createQRCode("二维码内容", 300, 300,logoBitmap);
- 1
识别二维码
方法一:自动解析结果(推荐)
在调用处的activity/fragment注册onActivityResult方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//注册onActivityResult
QRCodeManager.getInstance().with(this).onActivityResult(requestCode, resultCode, data);
}
- 1
- 2
- 3
- 4
- 5
- 6
监听扫描按钮单击事件
public void onScanQR(View view) {
QRCodeManager.getInstance()
.with(this)
.setReqeustType(1)//可以不设置,默认是0
.scanningQRCode(new OnQRCodeScanCallback() {
@Override
public void onCompleted(String result) {//扫描成功之后回调,result就是扫描的结果
controlLog.append("\n\n(结果)" + result);
}
@Override
public void onError(Throwable errorMsg) {//扫描出错的时候回调
controlLog.append("\n\n(错误)" + errorMsg.toString());
}
@Override
public void onCancel() {//取消扫描的时候回调
controlLog.append("\n\n(取消)扫描任务取消了");
}
});
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
方法二:手动解析结果
开始扫描二维码
QRCodeManager.getInstance().with(this).scanningQRCode(requestCode);
- 1
扫描结束之后,结果可以在调用处的activity/fragment的onActivityResult中拿到
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//扫描之后,自己处理扫描结果
}