1、问题描述
项目中接入了华为的统一扫码服务SDK,识别过程正常,但是目前有个需求,需要在扫码完成之后根据条码的具体类型处理接下来的业务。
问题是:识别完条形码后,如何拿到具体的条形码和二维码类型,比如如何判断是ISBN类型条形码还是ITF类型条形码呢?
下面就一起来看一下具体的解决方案。
2、解决方案
首先来看下面这个文档,链接如下所示:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/service-introduction-0000001050041994#section5444131711424
文档中可以看到Scan Kit支持的一维码和二维码中都有许多不同码制式的条形码,如下图所示:
紧接着来看扫码的返回结果是HmsScan这个类,找到对应的API文档,链接如下:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/scan-hms-scan4-0000001050167739#section6980195925315
根据API文档可以发现里面这个类有一个public方法getScanType(),该方法可以获取条码格式,如下图所示:
既然如此,那就可以根据该方法来获取具体的条码格式,代码如下:
最后,在接口文档中HmsScan这个类的公共字段中也定义了不同条码格式的字段值,根据上面方法中拿到的值进行比对即可,文档链接如下:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/scan-hms-scan4-0000001050167739#section13444195511282
举个例子,如下图所示的这两种类型值:
通过上面的方案,就可以顺利拿到返回结果中的条码类型了!
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh