在Flutter中正确打开文件的方法是什么?

9

我正在寻找一种在Flutter中打开文件的方法,特别是PDF文件。我到处查找资料,发现open_file似乎已经被弃用:

插件“open_file”使用了Android嵌入式的已弃用版本。为避免意外的运行时故障或未来的构建故障,请尝试查看此插件是否支持Android V2嵌入式。否则,考虑删除该插件,因为Flutter的未来版本将删除这些已弃用的API。如果您是插件作者,请查看迁移插件到V2嵌入式的文档:https://flutter.dev/go/android-plugin-migration

此外,我还需要使用以下命令运行我的应用程序:flutter run --no-sound-null-safety

但是当我运行它时,会出现错误:

  • 出了什么问题: 任务':app:mergeDexDebug'执行失败。 执行com.android.build.gradle.internal.tasks.DexMergingTaskDelegate时出现故障 执行工作项时出现故障 >执行com.android.build.gradle.internal.tasks.DexMergingWorkAction时出现故障 >com.android.builder.dexing.DexArchiveMergerException:合并dex归档时出错: .dex文件中的方法引用数不能超过64K。了解如何解决此问题:https://developer.android.com/tools/building/multidex.html

除此之外,我还尝试过open_document,我安装了它,创建了create provider_paths.xml,并添加了AndroidManifest,但是我仍然遇到了另一个错误。

有什么建议吗?谢谢 <3


使用 open_document,我得到以下错误: [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] 未处理的异常:MissingPluginException(在 open_document 通道上找不到 openDocument 方法的实现) - Ariel Soriano Vassia
1
更新:open_file不再被弃用。 - rashidotm
3个回答

7
安装此软件包可解决问题。open_file软件包已过时。 open_file_plus

4
当我使用flutter pub add open_file命令安装open_file包时,它下载的是版本2.1.1,尽管控制台中显示版本3.2.1可用。这可能是由于我的代码中存在某些依赖问题所致。所以,为了获取最新版本,我在pubspec.yaml文件中键入了最新的版本号并保存,通过这种方式安装了最新版本。

自版本3.0.0以来,open_file包已更新为v2 Android插件APIs

新版本:https://pub.dev/packages/open_file_plus - undefined

4
你可以使用open_filex,它是open_file的一个分支版本,相对于其他分支版本,它维护得比较好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接