更好的path_provider

时间:2018-12-19 17:04:56

标签: flutter flutter-plugin

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

似乎应该是核心抖动的一部分,或者至少是封装。也许大多数Flutter应用都不需要其他地方的文件(或者一般来说,大多数应用都是我刚入门)

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

1 个答案:

答案 0 :(得分:1)

问题在于,每个平台在您能够执行的操作和文件的排列方式上都大不相同。

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

您还需要在android上具有权限才能读取文件。将其放在清单中应该可以做到,但是有很多针对Android的答案可以告诉您更多信息。

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

请注意,在iOS上,有多种方法可以访问特定类型的文件(即图片和视频),而没有常规的文件系统访问权限。

还要注意,如果您已经使用android本机代码完成操作,则可以使用platform channels在flutter和本机代码之间进行交互。