HarmonyOS鸿蒙Next中ArkTS调起相机扫描二维码

HarmonyOS鸿蒙Next中ArkTS调起相机扫描二维码 求助,我的应用需要唤起相机扫描二维码,但是搜索了好久了也没找到Stage模型下ArkTS怎么唤起相机。找到了很多非常陈旧的历史资料一点用也没有,虽然找到了OpenHarmony的示例代码,但是我本地模拟器跑不起来OpenHarmony的应用,移植代码的时候找不到@ohos.multimedia.camera这个包

求求各位大佬救救这个快要崩溃的孩子吧,给鸿蒙开发应用太难了

17 回复

扫描效果怎么实现,一行横线从上往下移动

更多关于HarmonyOS鸿蒙Next中ArkTS调起相机扫描二维码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


我最近也是在学习arkts的开发(api9),想实现扫码功能。在查询官方的开发指南中,看到了“扫一扫和二维码”的设计指南中最后提供的开发接入指南是统一扫码服务。但进入统一扫码服务只能看到Android平台和iOS平台的实现方法,没有针对鸿蒙系统的实现方法。之后我向客服提交了“请教关于如何在DevEco Studio 3.1.1中如何使用华为统一扫码服务的问题​​​​​​​”,得到的答复是“目前统一扫码服务暂不支持鸿蒙集成方式”,这就太嘎了。

我去年在安卓应用上实现扫码功能就是用的统一扫码服务,而且这个安卓应用我在华为的鸿蒙手机上安装后,也可以使用,反倒是,如今我想在鸿蒙系统上开发原生应用来实现扫码功能却不行。真是服了。

021.jpg

022.jpg

023.jpg

harmoney next 耐心等待...........

API 10 有

@hms.core.scan.customScan (自定义界面扫码)

@hms.core.scan.scanBarcode (默认界面扫码)

今年1月18日就开 HarmonyOS Next 的发布会了,到时候就支持了。

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

这个问题咋样了?

api9 Stage模型下ArkTS唤起相机


//方案2 import abilityAccessCtrl from ‘@ohos.abilityAccessCtrl’; import common from ‘@ohos.app.ability.common’; //测试中

//方案1 // import camera from ‘@ohos.multimedia.camera’; // 失败//@ohos.multimedia.camera是系统接口,只有系统应用能调用

@Entry @Component struct Index {

build() { Row() { Column() {

    Text('调用相机')
      .fontSize(50)
      .fontWeight(FontWeight.Bold)
    Button('确定', { type: ButtonType.Normal, stateEffect: true })
      .borderRadius(8)
      .backgroundColor(0x317aff)
      .fontSize(50)
      .width(200)
      .onClick(() => {    //点击事件
        this.takePhoto();
      })

  }
  .width('100%')
}
.height('100%')

}

async takePhoto() { //打开相机 await abilityAccessCtrl.createAtManager() .requestPermissionsFromUser(getContext(this), [‘ohos.permission.CAMERA’, ‘ohos.permission.READ_MEDIA’]) let context = getContext(this) as common.UIAbilityContext let result = await context.startAbilityForResult({ action: “ohos.want.action.imageCapture” }) return result.want.uri } }

我在想有方法识别图片中的二维码吗?实在没办法就拍照了再识别哈,

api9只能调用系统相机,等api10吧,

目前暂未开放

这是我折腾的经验:

deveco找到4.0.0版本的,然后下载openharmony4.0 fullsdk版本,需要使用4.0FullSdk替换deveco自带的4.0PublicSdk,创建openharmony项目选择api10,但是因为没有api10的设备,跑不了真机。

于是,下载openharmony3.2 fullsdk版本,使用3.2FullSdk替换3.2PublicSdk。在创建项目的时候,搜索openharmony,创建openharmony的项目,选择api9,可以引入@ohos.multimedia.camera包,应用可以安装的harmonyos4 上,相机最终能启动,但是相机黑屏,拍不了照片。

参考链接:

https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Release/code/SystemFeature/Media/Camera

https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/media/camera-overview.md/

https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/quick-start/full-sdk-switch-guide.md/

http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist

https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_package_901_9/e0/v3/y3Qc4UHsTn6i1M7yr3hVYg/devecostudio-mac-4.0.0.600.zip

不知道是不是3.2(api9)版本的相机只能用于系统应用,我的应用是非系统的原因,最近有别的事情,就没有继续研究下去。

https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/media/camera-overview.md/

api10听说有相机api,等明年Q1吧

相机api貌似还没开放呢

哦?大佬有找到什么声明吗?还是只要文档里没有就表示没开放?然后这个意思是现在ArkTS还做不到开发一个功能完整的应用吗?

api9还做不到想干啥就干啥,还比较粗糙,起码我写了一个大型demo,过程中觉得还有很多api缺失的。企业版应该会比较全,个人开发者版本api还得再等等。先把基础学好,等新api出来了,稍微练习下就行了,我是这么想的,先尽可能的熟悉现有api。

在HarmonyOS鸿蒙Next中,使用ArkTS调起相机扫描二维码可以通过@ohos.multimedia.camera@ohos.zbar模块实现。首先,使用CameraManager初始化相机,配置并启动预览。然后,通过ZBar模块处理相机捕获的图像,识别二维码。具体步骤包括:创建CameraInputPreviewOutput,设置CaptureSession,捕获图像后调用ZBar.decode进行解码。最后,处理解码结果,获取二维码信息。

回到顶部