该类中主要就是把一些常用的条码格式给添加到Vector集合里面,其中有一维码、二维码等。

最后一个DATA_MATRIX这个也属于是一种二维码。

**2.**上面的修改完了一会,然后是DecodeThread,这个是解码类

这里不需要我们做什么操作,只要知道这里是如何解码的就行了,关键的地方就是这里:

if (decodeFormats == null || decodeFormats.isEmpty()) {

decodeFormats = new Vector();

decodeFormats.addAll(DecodeFormatManager.ONE_D_FORMATS); // 一维码

decodeFormats.addAll(DecodeFormatManager.QR_CODE_FORMATS); // 二维码

decodeFormats.addAll(DecodeFormatManager.DATA_MATRIX_FORMATS);

}

这里把之前添加好的几个常量类,添加到解码的方法里面去,这样解码方法里面就有了所有的解码格式了,包括一维码和二维码。

**3.**关键的地方来了,CaptureActivity,扫描后返回信息的类。

Zxing源码相信大家都能下到,也知道扫描后返回的值,里面有一个public void handleDecode(Result result, Bitmap barcode);方法,

返回的值就是在这里:

// 扫描后的结果  和  编码

Log.e(“编码: ------>”,result.getBarcodeFormat().toString()+"   数据:"+result.getText());

关键是这一句话:

result.getBarcodeFormat().toString()  返回的就是编码格式;

result.getText();  返回的才是扫描的值。

所以,我们主需要判断之前的编码管理类里的向量数组是否包含这个字段就OK了,迭代:

/**********************************************

  • 注:此处根据 拍码后返回的编码格式 与 DecodeFormatManager

  • 类中的二维码 编码格式 进行对比

  • 相同则将标示字段赋值为1(即一维码)

  • 否者则将标示字段赋值为2(即二维码)

**********************************************/

int size = DecodeFormatManager.ONE_
D_FORMATS.size(); //遍历一维码字符集

for (int i = 0; i < size; i++) {

Log.e(" 一维码编码格式 ------>",DecodeFormatManager.ONE_D_FORMATS.get(i)+"");

//此处根据 拍码后返回的编码格式 与 DecodeFormatManager类中的一维码 编码格式 进行对比

//相同则将标示字段赋值为1(即一维码) 否者将标示字段赋值为2(即二维码)

if(DecodeFormatManager.ONE_D_FORMATS.get(i).equals(mBarcodeFormat)){

ONE_D_FORMATS = 1;

}else {

QR_CODE_FORMATS = 2;

}

}

实现方式二:

在public void handleDecode(Result result, Bitmap barcode);方法中添加两个常量,自定义QR_CODE和 DATA_MATRIX两个常量码,然后当扫描返回时,通过result.getBarcodeFormat().toString()获得返回编码,再根据该返回码与自定义的编码去比对。然后定义个字符串或int变量作为标示,如下:

int CODE_TYPE = -1; //标示 (1一维码、 2、二维码 3、其他码)

final String QR_CODE = “QR_CODE”; //二维码

final String DATA_MATRIX = “DATA_MATRIX”; //其他码

//扫描获取的 编码 不为空

if(!TextUtils.isEmpty(result.getBarcodeFormat().toString())){

String mBarcodeFormat = result.getBarcodeFormat().toString(); //拍码后返回的编码格式

if(mBarcodeFormat.equals(DATA_MATRIX)){

CODE_TYPE = 3;

}else if(mBarcodeFormat.equals(QR_CODE)){

CODE_TYPE = 2;

}else {

CODE_TYPE = 1;

}

Log.e("—> (1一维码、 2、二维码 3、其他码) “,”"+CODE_TYPE);
.equals(DATA_MATRIX)){

CODE_TYPE = 3;

}else if(mBarcodeFormat.equals(QR_CODE)){

CODE_TYPE = 2;

}else {

CODE_TYPE = 1;

}

Log.e("—> (1一维码、 2、二维码 3、其他码) “,”"+CODE_TYPE);

ZXing拍码后区分扫描到的是一维码、二维码、其他码,android音视频面试相关推荐

  1. python wxpy登录微信,扫完二维码后,打开的软件没有关闭/ 扫二维码时不小心关闭了软件,程序会卡住不动的处理方法

    加了几行代码,扫完二维码后,把打开图片的软件也结束程序 圈起来的代码是我改动后的!! 先找到login.py 追踪到打开图片的函数: 扫描结束后的函数: 这样的话,登录微信过程中,一旦发现显示二维码的 ...

  2. 数据转换成二维码并导出进Excel中和导入时解码二维码反转成数据

    数据转换成二维码并导出进Excel中和导入时解码二维码反转成数据 第一步在maven中配置需要的二维码jar包 1.1 谷歌提供的帮助类 1.2 关于二维码的工具类 1.3 测试类 第二步 在Exce ...

  3. QR二维码生成器源码(中间可插入小图片)

    二维码终于火了,现在大街小巷大小商品广告上的二维码标签都随处可见,而且大都不是简单的纯二维码,而是中间有个性图标的二维码. 我之前做了一个使用google开源项目zxing实现二维码.一维码编码解码的 ...

  4. 【黄啊码】PHP配合微信公众号生成推广二维码

    前言 为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 1.目前有2种类型的 ...

  5. 微信官方提供的生成二维码接口得到的是当前公众号的二维码

    转自:http://blog.csdn.net/phil_jing/article/details/53910083 微信官方提供的生成二维码接口得到的是当前公众号的二维码,官方文档 目前有2种类型的 ...

  6. 微信官方提供的生成二维码接口得到的是当前公众号的二维码。

    一定说明,这种方法我还没有测试,如果有疑问欢迎在评论区域讨论. .................... ................... 谢谢. 微信官方提供的生成二维码接口得到的是当前公众号 ...

  7. 二维码中加图片(打印带图片的二维码)

    在二维码中,放入图片,遮挡一部分是被允许的. 二维码在少许损伤的情况下还可以读取出来,图片可以放置的位置如图的黄色区域.(具体可以放多大要看二维码生成时的纠错能力) 二维码的纠错级别: 纠错级别越高, ...

  8. 二维码太丑?用风格迁移生成个性二维码了解一下

    文章选自arXiv,作者:Mingliang Xu等,机器之心编译 手机二维码太普通,换来换去还是不好看.何不自定义一个自己喜欢的呢?近日,郑州大学.浙江大学.微软亚洲研究院.北京航空航天大学的研究者 ...

  9. Python 二维码的读取与生成:使用链接生成二维码、读取二维码里的链接

    Python 二维码的读取与生成演示 ① 使用链接生成二维码 ② 读取二维码里的链接 [ 文章推荐 ] Python 绘制中国地图:使用 pyecharts 最新版本绘制中国地图实例详解,个性化地图定 ...

  10. 直播平台源码搭建教程之Android音视频开发

    直播平台源码搭建教程之Android音视频开发 音频 将声音保存成音频的过程,其实就是将模拟音频数字化的过程,为了实现这个过程,就需要对模拟音频进行采样.量化和编码.接下来我们详细讲解这一过程. 采样 ...

最新文章

  1. Linux上安装php
  2. C#各种结束进程的方法详细介绍
  3. 《解剖PetShop》系列之二
  4. 计算机组成原理笔记——存储器分类、层次结构、技术指标、存储单元地址分配
  5. 解决Ubuntu16.04中文乱码问题
  6. 机器学习基础-朴素贝叶斯分类
  7. 个人博客升级改造ing
  8. mysql删除的表怎么恢复_误删除mysql数据库表该如何恢复操作方法
  9. 数据分类分级指南分级方法
  10. 60个经典励志小故事
  11. Aho-Corasick Automaton · AC自动机
  12. 设备巡检的痛点和巡检方案
  13. LeetCode刷题系列之数组--0704.二分查找(JAVA版本)
  14. Chrome离线安装CRX插件方法
  15. 30岁哥大计算机博士生遇刺身亡,论文刚被顶会接收,曾留学中国
  16. 一位博士在华为的22年
  17. https证书服务器怎么完成部署?
  18. Golang垃圾回收机制详解
  19. Chinapay 银联支付接口
  20. 如何计算 R 中的变异系数

热门文章

  1. 红帽linux认证内容,红帽认证系统管理员RHCSA认证所要掌握的Linux内容介绍
  2. 《大型网站技术架构:核心原理与案例分析》读书笔记-高可用
  3. windows64位搭建汇编(包含汇编dosbox , masm文件,link文件和debug调试)以及debug调试命令(dosbox调试汇编程序的简单使用教程)
  4. C语言函数库之字符串比较函数(string.h)
  5. Windows 配置libjpeg-turbo并在python中调用
  6. lammps教程:薄膜渗透过滤模拟--平衡弛豫过程
  7. Tuxedo服务中间件
  8. linux查看perl进程,如何找到挂起perl脚本(linux进程)的位置
  9. Win 10 桌面简单美化(+开始菜单 TileGenie)
  10. Oracle 同音字查询,对外汉语汉字教学