HarmonyOS鸿蒙Next中Flutter media_store_plus插件适配

HarmonyOS鸿蒙Next中Flutter media_store_plus插件适配 问题描述: Flutter插件media_store_plus: 要在 Flutter 中使用 Android MediaStore API,它支持通过 Flutter 在每个 Android 版本中进行读取和写入操作。 其他端适配正常, 鸿蒙端缺少适配

问题现象: Flutter插件 media_store_plus: 要在 Flutter 中使用 Android MediaStore API,它支持通过 Flutter 在每个 Android 版本中进行读取和写入操作。 鸿蒙端缺少适配

版本信息: Flutter ohos分支

插件链接:https://pub.dev/packages/media_store_plus

cke_1183.png


更多关于HarmonyOS鸿蒙Next中Flutter media_store_plus插件适配的实战教程也可以访问 https://www.itying.com/category-92-b0.html

3 回复

开发者你好,media_store_plus是Flutter 中使用 Android 的MediaStore API。它通过 Flutter 支持所有 Android 版本中的读写操作。 您具体需要读写操作什么文件?flutter_package中提供了已适配的flutter插件库:

序号 原库名 3.7推荐使用版本 3.22推荐使用版本 3.27推荐使用版本 仓库名
3 image_picker 1.0.4 1.1.2 1.1.2 image_picker
79 file_picker 8.0.6 8.0.6 fluttertpc_file_picker
69 flutter_document_picker 5.2.3 5.2.3 5.2.3 fluttertpc_flutter_document_picker

您看是否可以将media_store_plus替换为已适配的库;

更多关于HarmonyOS鸿蒙Next中Flutter media_store_plus插件适配的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在HarmonyOS Next中,Flutter的media_store_plus插件需要进行适配以兼容新的系统API。适配工作主要涉及将插件底层对Android MediaStore的调用替换为HarmonyOS的媒体库管理接口。开发者需要修改插件的原生平台层代码,使用HarmonyOS的@ohos.file.photoAccessHelper等Kit来替代原有的Android实现,确保文件访问、查询和操作功能在鸿蒙上正常运行。

media_store_plus 插件目前主要针对Android平台的MediaStore API进行封装,尚未提供对HarmonyOS Next的适配。在HarmonyOS Next上,由于其系统架构与Android不同,无法直接使用Android特定的API。

对于HarmonyOS Next,你需要使用其原生的媒体库管理接口来替代。HarmonyOS提供了 @ohos.file.mediaLibrary@ohos.file.fileManager 等模块来实现媒体文件的访问、查询和写入功能。

如果你需要在Flutter for HarmonyOS Next的项目中实现类似功能,可以考虑以下方案:

  1. 开发HarmonyOS原生插件:为Flutter插件创建HarmonyOS端的实现。你需要使用ArkTS/ArkUI来封装 mediaLibrary 等HarmonyOS原生API,并通过FFI或Platform Channel与Flutter Dart代码进行通信。

  2. 寻找或贡献适配:关注该插件社区或HarmonyOS Flutter生态,看是否有开发者正在进行HarmonyOS端的适配工作。你可以考虑向 media_store_plus 插件项目提交Issue或PR,为其增加HarmonyOS支持。

  3. 使用条件导入:在你的Flutter代码中,可以通过条件导入(conditional import)来区分不同平台。对于HarmonyOS平台,调用你自定义的HarmonyOS原生插件;对于Android平台,则继续使用 media_store_plus

当前直接使用 media_store_plus 在HarmonyOS Next上运行会导致功能缺失或无法编译。 你需要基于HarmonyOS的原生能力重新实现相应的媒体文件操作逻辑。

回到顶部