Dart 如何获取下载文件夹的(绝对)路径?

Dart 如何获取下载文件夹的(绝对)路径?,dart,flutter,Dart,Flutter,在Flitter项目中,如何获取Android设备中下载文件夹的(绝对)路径? 我的下载文件夹是下一个:警报、Android、数据、DCIM、文档、电影、音乐、通知、图片 设备:GALAXY S8+SM-G955F。安卓8.0。不扎根。颤振beta v0.5.1。Dart 2.0.0-dev.58.0。视窗10 使用这个包path\u provider我得到了这3条路径: /data/user/0/com.exemple.fonzo/cache /data/user/0/com.exempl

在Flitter项目中,如何获取Android设备中下载文件夹的(绝对)路径? 我的下载文件夹是下一个:警报、Android、数据、DCIM、文档、电影、音乐、通知、图片

设备:GALAXY S8+SM-G955F。安卓8.0。不扎根。颤振beta v0.5.1。Dart 2.0.0-dev.58.0。视窗10


使用这个包
path\u provider
我得到了这3条路径:

/data/user/0/com.exemple.fonzo/cache
/data/user/0/com.exemple.fonzo/app_flutter
/storage/emulated/0
在我的非根设备GALAXY S8+SM-G955F上,我无法从Solid Explorer file manager中找到或访问这3个文件夹。安卓8.0。我只想找到文件夹的绝对路径(如下载):

  • 我可以使用Android file manager应用程序访问
  • 我可以从我的Flatter项目在这个文件夹中写入文件

您应该使用本机功能

同时,访问电话目录由
path\u提供商提供
package

使用它,您可以访问:临时目录、应用程序目录、外部存储


文档:

将函数
getApplicationDocumentsDirectory()
更改为
getExternalStorageDirectory()
它应该显示应用程序的外部目录。

您可以使用该软件包。您必须将
添加到AndroidManifest.xml中。此外,如果您计划写入该文件夹,并希望您的应用程序适用于android版本>6,则必须向用户请求写入权限。你可以这样做。
wait PermissionHandler().requestPermissions([PermissionGroup.storage])

我使用这个库获取Android中的公共下载目录

飘飘然

装置 在您的项目pubspeck.yaml中将ext_存储添加为双属性

dependencies:
  ext_storage:
用法 首先,编写import ext_存储包

import 'package:ext_storage/ext_storage.dart';
    void dirpath() async {
      var path = await ExtStorage.getExternalStoragePublicDirectory(ExtStorage.DIRECTORY_DOWNLOADS);
    }

哪一个是下载文件夹?没有。我想将文件存储到/storage/emulated/0/download中。如何储存?我使用getExternalStorageDirectory,但它存储在/storage/emulated/0/Android/data/com.example.myApps/files中。由其所有者存档的包无法使用包,它已存档。很遗憾,我现在每个月都在构建我的应用程序,最后我无法构建发行版。此方法返回字符串,因此不能无效。此方法返回
Future
,并且
print()
应该在
return
之前
import 'package:ext_storage/ext_storage.dart';
    void dirpath() async {
      var path = await ExtStorage.getExternalStoragePublicDirectory(ExtStorage.DIRECTORY_DOWNLOADS);
    }