首页 > 解决方案 > 更好的 path_provider

问题描述

只是想知道是否有任何方法可以访问系统上的文件。不只是 path_provider 的目录提供程序?

似乎这应该是核心颤振的一部分,或者至少是一个包。也许大多数颤振应用程序不需要来自其他地方的文件(或者一般来说大多数应用程序,我才刚刚开始)

我想扫描文件系统中的音频文件。我知道我可以在 android 中做到这一点,因为我制作了一个小演示应用程序来尝试使用本机代码做一些事情

标签: flutterflutter-plugin

解决方案


问题是每个平台都非常不同,无论是您能够做什么以及如何安排文件。

path_provider 实际上有一种获取外部文件目录的方法:getExternalStorageDirectory。但是,这仅适用于 Android,因为 iOS 不允许读取应用程序沙箱之外的文件。但是一旦你使用它,你就可以使用 dart:io 的FileDirectory类来读取文件。

您还需要获得 android 权限才能读取文件。把它放在你的清单中应该可以做到,但是有很多特定于 android 的答案会告诉你更多。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

请注意,在 iOS 上,有一些方法可以访问特定类型的文件(即图片和视频),只是无法正常访问文件系统。

另请注意,如果您已经使用过 android 原生代码,则可以使用平台通道在 Flutter 和原生代码之间进行接口。


推荐阅读