在Flutter项目中,如何获取Android设备中“下载”文件夹的(绝对)路径? 我的下载文件夹紧随其后:警报,Android,数据,DCIM,文档,电影,音乐,通知,图片,...
设备:GALAXY S8 + SM-G955F。 Android 8.0。不扎根。 Flutter beta v0.5.1。 Dart 2.0.0-dev.58.0。 Windows 10
File manager showing my Download folder
使用此软件包path_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文件管理器中找到或访问这3个文件夹。 Android 8.0。我只想找到该文件夹的绝对路径(如下载):
仍在等待答案。预先感谢。
答案 0 :(得分:1)
您可以使用downloads_path_provider软件包。您将<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
添加到您的AndroidManifest.xml中。另外,如果您打算写入该文件夹并希望您的应用程序适用于Android版本> 6,则必须征求用户的写入许可。您可以使用https://pub.dev/packages/permission_handler来做到这一点。
await PermissionHandler().requestPermissions([PermissionGroup.storage]);
答案 1 :(得分:1)
我使用这个库在Android中获取公共下载目录
String _getPathToDownload() async {
return ExtStorage.getExternalStoragePublicDirectory(ExtStorage.DIRECTORY_DOWNLOADS); print(path); // /storage/emulated/0/Download
}
答案 2 :(得分:0)
您应该使用本机功能。
path_provider
软件包提供了访问电话目录的时间。
使用它,您可以访问:临时目录,应用程序目录,外部存储。
答案 3 :(得分:0)
将功能getApplicationDocumentsDirectory()
更改为getExternalStorageDirectory()
,它将显示应用程序的外部目录。
答案 4 :(得分:0)
在Flutter中
https://pub.dev/packages/ext_storage
安装 在项目pubspeck.yaml中将ext_storage添加为临时对象。
dependencies:
ext_storage:
用法 首先,编写导入ext_storage包。
import 'package:ext_storage/ext_storage.dart';
void dirpath() async {
var path = await ExtStorage.getExternalStoragePublicDirectory(ExtStorage.DIRECTORY_DOWNLOADS);
}