HarmonyOS 鸿蒙Next中open_file_plus插件适配

HarmonyOS 鸿蒙Next中open_file_plus插件适配 问题描述: Flutter插件 open_file_plus: Flutter 中调用原生 APP 以字符串形式打开文件的插件                其他端适配正常, 鸿蒙端缺少适配

问题现象: Flutter 中调用原生 APP 以字符串形式打开文件的插件                鸿蒙端缺少适配

版本信息: Flutter ohos分支

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

cke_2396.png


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

6 回复

开发者你好,open_file_plus当前暂未适配,请问您是在什么样的业务场景中使用该能力,交互流程是怎样的,在哪一个环节遇到了问题?对你们的影响是什么,是否影响核心业务?如给您带来不便,敬请谅解。

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


这个插件是一个可以在 Flutter 中调用原生 APP 以字符串形式打开文件的插件,

尊敬的开发者,您好!您的问题已受理,请您耐心等待,感谢您的理解与支持!

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

好的 感谢,

在HarmonyOS Next中,open_file_plus插件确实需要针对鸿蒙平台进行专门的适配,因为该插件目前主要支持Android和iOS。要使其在鸿蒙上运行,你需要为它创建HarmonyOS的FFI(Foreign Function Interface)插件实现。

核心步骤是使用HarmonyOS的API来替换原有的平台特定代码。关键点在于利用鸿蒙的Want机制和Ability来调用系统能力打开文件。你需要创建一个HarmonyOS的插件模块,实现类似以下逻辑:

  1. 解析文件路径:获取Flutter端传递过来的文件路径字符串。
  2. 构造Want对象:这是鸿蒙中用于跨应用通信的核心对象。你需要设置其uri(例如file://开头的本地文件URI)和action(如ohos.want.action.viewData用于查看数据)。
  3. 启动Ability:通过ContextstartAbility方法,传入构造好的Want,系统会弹出选择器让用户选择用哪个应用来打开该文件。

这相当于在鸿蒙上实现了Android端Intent的功能。你需要修改插件的Dart层代码,通过MethodChannel调用这个新编写的HarmonyOS原生代码。

由于这是为第三方插件添加新平台支持,你需要关注插件项目的结构,在对应的鸿蒙工程目录(如ohos/)下实现上述逻辑,并确保pubspec.yaml中的插件配置正确指向了鸿蒙的原生代码。

回到顶部