最近开发的项目中有个扫描二维码的功能,是集成的zxing,也做客一些优化的地方
Zxing界面优化(竖屏、拉伸处理、扫描框大小和扫描线移动)
对扫描的结果做了两个处理。1.是扫描的结果是以http://开头的直接打开浏览器执行相应跳转。2.否则执行其他操作
但是今天看见一个二维码,于是用自己实现的扫二维码功能扫了一下,然后蛋疼的事情发生了,导致项目直接崩溃了,打开log
看了下,结果发现扫描的结果不是http开头而是汉子开头,比如像这样的:
Barcode=该软件通过处理二维码提高了识别的成功率
作者博客:http://blog.csdn.net/isea533
作者邮箱:abel533@126.com
这有点蛋疼,我没有做这方面的判断啊,于是开始解决问题。
想着如果是这种情况下跳转一个新的类显示扫描的结果,然后有地址链接的话,点击一下在跳转网页,
开始的时候自己判断了一堆代码,先判断字符串中是否包含http开头的字段,然后再截取,最后将改地址作为url跳转到浏览器,但是后来无意中发现项目中已经写好了该功能的实现,于是心中暗喜,代码不是很多,也实现了其他的功能,(我将封装的类上传到资源,有需要的可以自行下载),我只说下如何调用
<pre name="code" class="java">// strResult,要判断的字符串
// tvResul TextViewt控件
Spannable span = SmileUtils.getSmiledTextSmallImg(this, strResult, 0.6f);
tvResult.setAutoLinkMask(Linkify.ALL);
tvResult.setMovementMethod(LinkMovementMethod.getInstance());
tvResult.setText(span);
效果图:
相关的类已上传到资源,点击下载即可: