廊坊网站制作网站,甘肃省建设厅网站,ic电子网站建设,专业做律师网站的公司【HarmonyOS】一键扫码功能
前言
鸿蒙在api10之后#xff0c;对系统api的基础上#xff0c;封装了较为复杂功能的开发工具包#xff0c;统一称之为Kit。这些Kit根据功能定义的不同#xff0c;划分为不同的种类Kit。如下图所示#xff1a; 其实可以理解为集成在系统中的…【HarmonyOS】一键扫码功能
前言
鸿蒙在api10之后对系统api的基础上封装了较为复杂功能的开发工具包统一称之为Kit。这些Kit根据功能定义的不同划分为不同的种类Kit。如下图所示 其实可以理解为集成在系统中的SDK。
这些Kit为我们应用开发提升了极大地效率。很多简单的功能如果不需要太深的定制化需求直接调用kit提供的API就可以实现在android或者ios上需要很多代码才能实现的功能效果。
扫码Kit 鸿蒙提供了扫码Kit, ScanKit。它有两种集成方式定制化的自定义扫码 和 界面风格与系统一致的一键扫码。
今天为大家讲解一键扫码的使用。
使用一键扫码不需要单独申请相机权限因为会直接跳转到系统内置的扫码界面。扫码结果通过回调应用在回调中处理扫码解析的值。该调用是鸿蒙系统内安全访问级别。会在扫码界面上提示用户。
目前一键扫码的功能已经完全可以满足扫码相关的需求。例如手电筒设备设备光暗识别。扫码动画。跳转相册选择二维码识别。
并且除了二维码也支持条码的识别功能十分强大。并且集成方式异常简单不超过十行代码即可实现扫码功能。
当然二维码数据解析的处理需要三方应用根据自己的业务进行处理。
DEMO效果图
代码示例
import { scanBarcode, scanCore } from kit.ScanKit;
import { BusinessError } from kit.BasicServicesKit;
import { promptAction } from kit.ArkUI;Entry
Component
struct Index {private TAG: string Index;private onToEasyScan () {let options: scanBarcode.ScanOptions {scanTypes: [scanCore.ScanType.ALL],enableMultiMode: true,enableAlbum: true};scanBarcode.startScanForResult(getContext(this), options).then((result: scanBarcode.ScanResult) {// 扫码解析成功二维码数据console.info(this.TAG, result: JSON.stringify(result));promptAction.showToast({message: result.originalValue});}).catch((error: BusinessError) {// 扫码解析失败console.info(this.TAG, error: JSON.stringify(error));});}build() {RelativeContainer() {Text(跳转一键扫码).id(HelloWorld).fontSize(50).fontWeight(FontWeight.Bold).alignRules({center: { anchor: __container__, align: VerticalAlign.Center },middle: { anchor: __container__, align: HorizontalAlign.Center }}).onClick(this.onToEasyScan)}.height(100%).width(100%)}
}