1. 程式人生 > 其它 >【HMS Core】華為統一掃碼服務ScanKit如何獲取具體條碼的型別?

【HMS Core】華為統一掃碼服務ScanKit如何獲取具體條碼的型別?

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