这仅仅是一篇问题分析哈,提供理解这个问题的思路,并不是解决这个问题的方法。
背景
先说背景,项目中需要一个扫描二维码的功能,网上找了一个比较火的 BGAQRCode-Android,用了一圈感觉还不错。
但是在扫描页面,logcat 总是报 W/System.err: com.google.zxing.NotFoundException,类似下图:

结论
再说结论,对分析不感兴趣的可以看了结论就走了。
如果你是和我用的同样的库,说着说同样的封装的 ZXing 的库,而且使用的是 动态扫码,那么这个问题你可以不用关心。
如果你使用的是从图片库选择图片,然后识别,结果报了这样一个错,那八成是图片有问题或者图片的处理有问题,网上一搜,大把的。
分析
简单来说,这个问题就是 ZXing 没有识别出二维码、条码。
那扫描的时候为什么一直在报这个错呢?
因为扫描的原理就是,将视频输入的数据流,每隔一段时间(很短的一段时间),取一帧,作为图片拿出来,让 ZXing 识别。识别到了,就返回结果,没识别到,就会报 NotFoundException。
我没有研究 ZXing 的底层原理哈,但大的方向一定是这样。
所以,如果有朋友在使用中,发现了标题的这个警告,而刚好这个警告又是出现在动态扫描页面,那忽略就好了。
希望可以给为这个问题抓狂的朋友一点安慰。
本文分析了使用BGAQRCode-Android库进行二维码扫描时出现W/System.err:com.google.zxing.NotFoundException警告的原因,指出在动态扫码场景下此警告可被忽略,主要由ZXing未能识别出二维码或条码所致。
1877

被折叠的 条评论
为什么被折叠?



