Openharmony入门教程 相册问题修复

问题视频:

第五章-保存应用数据 _调用系统相册添加图片_哔哩哔哩_bilibili

        跟着视频学习了Openharmony的入门,好不容易到了最后一个章节了,结果遇到了功能无法使用,还是得想办法

问题描述:

按照视频上的代码,粘贴了applications_photos: Photos system app | 系统相册应用

对于图像读取的相关代码,但是却死活起不来相册 

Openharmony入门教程 相册问题修复_第1张图片

查看Log:

        过滤了error,发现就是代码中的abilty name和package Name没法对上,可能华为后续进行了更新但是视频也很难修改。

        这边的原理和android差不多,实际上都是发送一个Intent拉起其他的应用,所以这里所对应的packageName(华为叫做BundleName)和ActivityName(华为叫做AbilityName)是需要对应上的,不然不知道这个intent信息发给谁。

解决方案:

Openharmony hdc启动关闭应用_hdc 启动应用-CSDN博客

之前写过这样一篇文章说过怎么获取ability Name的,按照这个方法来试试。

这边就直接给结果了

bundleName: 

com.huawei.hmos.photos

abilityName:

com.huawei.hmos.photos.MainAbility

这里只需要把startParam设置下就成功了。

selectPic(){
    let startParmameter = {
      bundleName:"com.huawei.hmos.photos",
      abilityName: "com.huawei.hmos.photos.MainAbility",
      parameters: {
        uri: "multipleselect"
      }
    };
    globalThis.context.startAbilityForResult(startParmameter).then((v) => {
      let want = v['want'];
      console.info(`test select multiple ${want}`);
      if (want != null && want != undefined) {
        let param = want['parameters'];
        console.info(`test select multiple ${param}`);
        if (param != null && param != undefined) {
          let uri = param['select-item-list'];
          this.imageArray = uri;
          console.info(`test select multiple ${uri[0]} ${uri[1]}`);
        }
      }
    }, (error) => {
      console.debug(`startAbility failed, error: ${JSON.stringify(error)}`);
    })
  }

你可能感兴趣的:(openharmony,harmonyos)