最近公司的项目中需要Android端做一个扫描二维码的应用,网上推荐的帖子中在github上找到一个叫做SimpleZXing的开源项目,本来呢谷歌是有提供官方的demo的,也是开源的,那个项目叫ZXing。我找的这个SimpleZXing是基于ZXing的基础上,去掉了不必要的部分,只保留了扫描二维码识别的功能,有需要的朋友可以去找一下:点击打开链接下载完后导入AndroidStudio就可以了,我的是直接就可以运行了,也没报错,如果各位导入项目的时候有报错,看一下你们的AS版本和相关的配置。导入后安装到手机上使用,发现正常二维码的是可以扫出来的,但是当二维码中有文字的时候,识别出来是乱码的,当时也蒙了,然后就一步一步分析识别的流程,我觉得肯定是解码的时候出问题了,但是看了一天的代码也没找问题出在哪了。然后在网上找解决方法,试了很多但是都不行,自己就又开始研究,终于第二天晚上的时候在结合网上的解决方法和自己的改造后解决了这个问题!
这个问题的解决主要有以下几个步骤:
1.在CaptureActivity中的onResume方法中添加如下:
decodeFormats = null;
characterSet = "ISO-8859-1";
这个2个变量是在
CaptureActivity中定义的:
private String characterSet;
private Collection<BarcodeFormat>
decodeFormats;
2.找到C