超简单Android集成华为HMS Scankit扫码SDK实现扫一扫二维码

  

  

最近要做一个停车场扫码收费的应用,在网上搜了一圈,首先接触到了zx,上手试了下,集成过程不复杂,但是感觉效果欠佳,比如距离稍微远点儿就扫不出来了,另外角度对的不好,反光或者光线比较暗的时候,成功率也比较低,集成好给我们老大看了下,感觉不是很满意。最近偶尔看到了华为一个发布会里面有介绍扫码功能,稍微研究了下,居然是一款免费扫码神器,官方称之为扫描设备,号称还同时支持Android和iOS,半信半疑上手搞了一把发现效果还真不错!测了下发现对于一些有反光,污损,形变,超远距离的场景都能很好地识别!
  

  

今天简单总结了下,分享给大家,码字不易,也算是疫情期间,给大家的一点小小福利。

  

官网的演示和样本代码体验

  

官网有演示可以直接下下来体验,还有样本代码样例,小伙伴们可以直接到官网下载演示或者示例代码体验下:华为官网的演示和示例代码,示例代码下下来就可以运行。

  

我自己也结合下面的讲解写了个简易的样本,各位看官也可以下下来参考。
  简易扫码样例示例

  

  

1.1安卓工作室安装

  

这里就不啰嗦了,到官网下载和安装:Android工作室官网下载链接,Android工作室安装流程参考链接

  

1.2在项目级gradle里添加华为maven仓

  

超简单Android集成华为HMS Scankit扫码SDK实现扫一扫二维码”> <br/>
  </p>
  <p>增量添加如下maven地址:</p>
  
  <pre类=   buildscript {   存储库{   maven {url ' http://developer.huawei.com/repo/'}   }   }   allprojects {   存储库{   maven {url ' http://developer.huawei.com/repo/'}   }   }      

1.3在应用级的build.gradle里面加上SDK依赖

  

超简单Android集成华为HMS Scankit扫码SDK实现扫一扫二维码”> <br/>
  </p>
  <p>增量添加SDK依赖,SDK他们有两种版本,加上和普通版,加上效果好点儿但是包稍微大一点儿,这个地方我选了加上版本,小伙伴们可以根据自己需要自行选择,版本号填他们最新的版本就好。</p>
  
  <pre类=   依赖关系{   实现“com.huawei.hms: scanplus: 1.1.1.301”   }      

1.4加一下混淆配置

  

超简单Android集成华为HMS Scankit扫码SDK实现扫一扫二维码”> <br/>
  </p>
  <p>复制粘贴华为官网上给的混淆代码就可以了</p>
  
  <pre类=   -ignorewarnings   -keepattributes *注释*   -keepattributes例外   -keepattributes InnerClasses   -keepattributes签名   -keepattributes源文件,LineNumberTable   小类com.hianalytics.android。* * {*;}   小类com.huawei。* * {*;}      

1.5清单申请静态权限和扫码页面声明:

  

超简单Android集成华为HMS Scankit扫码SDK实现扫一扫二维码”> <br/>
  </p>
  <p>申请静态权限和使用特性</p>
  
  <pre类=   & lt; !——相机权限——比;   & lt; uses-permission android: name=" android.permission。相机”/比;   & lt; !——读文件权限——比;   & lt; uses-permission android: name=" android.permission。READ_EXTERNAL_STORAGE”/比;   & lt; !——使用特性——比;   & lt; uses-feature android: name=" android.hardware。相机”/比;   & lt; uses-feature android: name=" android.hardware.camera。自动对焦”/祝辞      

在应用标签内添加对扫码页面的声明

        & lt; ! -对扫码页面进行声明——比;   & lt;活动android: name=" com.huawei.hms.hmsscankit。ScanKitActivity "/祝辞      

  

2.1动态申请权限

  

在启动扫码活动的地方添加动态权限申请。

        公共空间loadScanKitBtnClick(查看视图){   requestPermission (CAMERA_REQ_CODE解码);   }      私人空间requestPermission (int, int requestCode模式){   ActivityCompat.requestPermissions (   这一点,   新String [] {Manifest.permission。相机,Manifest.permission.READ_EXTERNAL_STORAGE},   requestCode);   }      

超简单Android集成华为HMS Scankit扫码SDK实现扫一扫二维码