HarmonyOS鸿蒙Next中Flutter鸿蒙化image_picker_ohos或者file_picker_ohos大部分的真机在拉起相册选择后,返回不了图片的信息

HarmonyOS鸿蒙Next中Flutter鸿蒙化image_picker_ohos或者file_picker_ohos大部分的真机在拉起相册选择后,返回不了图片的信息 Flutter 鸿蒙化 image_picker_ohos 或者 file_picker_ohos 大部分的真机在拉起相册选择后,返回不了图片的信息
申请 ohos.permission.READ IMAGEVIDEO 权限被拒 没通过, 还有其他的好的解决办法吗???
模拟器上是正常的,上传到云测平台的真机上,image_picker_ohos或者file_picker_ohos大部分的真机在拉起相册选择后,返回不了图片的信息
flutter版本: flutter: Flutter 3.27.5-ohos-1.0.0


更多关于HarmonyOS鸿蒙Next中Flutter鸿蒙化image_picker_ohos或者file_picker_ohos大部分的真机在拉起相册选择后,返回不了图片的信息的实战教程也可以访问 https://www.itying.com/category-92-b0.html

5 回复

您好,推荐您使用flutter3.22版本,flutter_packages中的已兼容的库:image_picker1.1.2版本;

OpenHarmony平台已兼容库

序号 原库名 3.7推荐使用版本 3.22推荐使用版本 3.27推荐使用版本 仓库名 状态
3 image_picker 1.0.4 1.1.2 image_picker 已适配

在该库packages/image_picker/image_picker_ohos/example,目录下执行flutter build hap进行demo调试;

需要注意的是:将video_player和video_player_ohos的路径修改为:

video_player: 
  git:
    url: "https://gitcode.com/openharmony-tpc/flutter_packages.git"
    path: "packages/video_player/video_player"

video_player_ohos: 
  git:
    url: "https://gitcode.com/openharmony-tpc/flutter_packages.git"
    path: "packages/video_player/video_player_ohos"

经本地真机测试,拉起相册选择后,可以返回图片的信息;

若您使用以上flutter版本和对应库无法返回图片信息,需要您提供 云测平台的真机 上的日志,以便定位您无法返回图片信息的问题;

更多关于HarmonyOS鸿蒙Next中Flutter鸿蒙化image_picker_ohos或者file_picker_ohos大部分的真机在拉起相册选择后,返回不了图片的信息的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


我现在用的hormony flutter:3.27.5-ohos-1.0.0的版本,如果是3.22的话,要再看看重新适配下了,

您好,通过以上方案是否成功适配?

在HarmonyOS Next中,Flutter鸿蒙化的image_picker_ohos或file_picker_ohos插件在真机上拉起相册后无法返回图片信息,通常涉及权限配置或插件兼容性问题。需检查应用是否已正确声明相册访问权限(如ohos.permission.READ_IMAGEVIDEO),并确认插件版本与HarmonyOS Next SDK匹配。部分真机可能因系统相册接口差异导致回调异常,可尝试更新插件至最新版本或检查插件日志输出定位具体错误。

在HarmonyOS Next中,READ_IMAGEVIDEO权限被拒通常是因为权限声明或使用方式不符合规范。建议按以下步骤排查:

  1. 检查权限配置:确保在module.json5中正确定义权限:

    "requestPermissions": [
      {
        "name": "ohos.permission.READ_IMAGEVIDEO",
        "reason": "$string:reason_desc", // 必须填写申请原因
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      }
    ]
    

    注意权限名需完整且无空格。

  2. 验证权限申请逻辑

    • 使用abilityAccessCtrl API动态申请权限,确保在用户操作时触发授权弹窗。
    • 处理权限回调,若用户拒绝需提供引导重新申请的流程。
  3. 适配云测真机环境

    • 云测设备可能受限系统策略,需在config.json中声明权限使用场景:
      "reqPermissions": [
        {
          "name": "ohos.permission.READ_IMAGEVIDEO",
          "reason": "用于相册图片选择",
          "usedScene": {
            "ability": ["EntryAbility"],
            "when": "inuse"
          }
        }
      ]
      
  4. 排查插件兼容性

    • 确认image_picker_ohos与Flutter 3.27.5-ohos-1.0.0的兼容性,检查其是否调用HarmonyOS媒体选择API(如PhotoViewPicker)。
    • 尝试使用HarmonyOS原生媒体选择器替代插件,直接通过@ohos.file.picker获取文件URI。
  5. 测试替代方案

    • 若权限持续被拒,可临时使用ohos.permission.READ_MEDIA(若适用)或通过文件管理器选择(需适配filePicker)。

最终建议在真机调试模式下捕获权限申请异常日志,进一步定位云测环境的具体限制。

回到顶部