如何使用扫码SDK获取扫描成功之后的原图?
1、问题描述
项目中集成了华为的统一扫码SDK,开发一款二维码扫描的APP,项目是使用Android Studio开发,通过调用HMS Scan SDK的api进行实现。
但是遇到了一个问题:通过((HmsScan) obj).getOriginalBitmap()这个方法获取到的图片是空的。
相关的配置如下:
手机信息:Huawei Mate30
SDK版本信息:com.huawei.hms:scan:2.5.0.300
问题代码如下:
代码在编译时并未报错,只是在运行时获取到的对象为空,这个问题该如何解决呢?下面我们一起来看一下正确的做法是怎样的吧。
2、解决方案
实际上关于使用扫码SDK获取扫描成功后的原图这个功能在官方的开发文档中是有提及的,可能我们平时都没注意到。
首先我们需要使用Customized View Mode这种扫码模式才行,在该模式下的API文档中有一个enableReturnBitmap这个方法,我们可以使用该方法进行设置扫码成功后返回原图,如下图中的代码所示:
设置完了之后,等待扫描成功之后,再通过HmsScan对象使用getOriginalBitmap()方法获取原图即可,需要注意的点我都在上图中用红色框标注出来了。
通过上面的方法我们就完成了使用统一扫码SDK获取扫描成功之后的原图啦,这个问题就顺利解决啦!
完整的开发文档如下:
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh