最近要做一个停车场扫码收费的应用,在网上搜了一圈,首先接触到了zx,上手试了下,集成过程不复杂,但是感觉效果欠佳,比如距离稍微远点儿就扫不出来了,另外角度对的不好,反光或者光线比较暗的时候,成功率也比较低,集成好给我们老大看了下,感觉不是很满意。最近偶尔看到了华为一个发布会里面有介绍扫码功能,稍微研究了下,居然是一款免费扫码神器,官方称之为扫描设备,号称还同时支持Android和iOS,半信半疑上手搞了一把发现效果还真不错!测了下发现对于一些有反光,污损,形变,超远距离的场景都能很好地识别!
今天简单总结了下,分享给大家,码字不易,也算是疫情期间,给大家的一点小小福利。
官网的演示和样本代码体验
官网有演示可以直接下下来体验,还有样本代码样例,小伙伴们可以直接到官网下载演示或者示例代码体验下:华为官网的演示和示例代码,示例代码下下来就可以运行。
我自己也结合下面的讲解写了个简易的样本,各位看官也可以下下来参考。
简易扫码样例示例
1.1安卓工作室安装
这里就不啰嗦了,到官网下载和安装:Android工作室官网下载链接,Android工作室安装流程参考链接
1.2在项目级gradle里添加华为maven仓
buildscript { 存储库{ maven {url ' http://developer.huawei.com/repo/'} } } allprojects { 存储库{ maven {url ' http://developer.huawei.com/repo/'} } }
1.3在应用级的build.gradle里面加上SDK依赖
依赖关系{ 实现“com.huawei.hms: scanplus: 1.1.1.301” }
1.4加一下混淆配置
-ignorewarnings -keepattributes *注释* -keepattributes例外 -keepattributes InnerClasses -keepattributes签名 -keepattributes源文件,LineNumberTable 小类com.hianalytics.android。* * {*;} 小类com.huawei。* * {*;}
1.5清单申请静态权限和扫码页面声明:
& 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); }