在Flutter项目中,如何获取Android设备中Download文件夹的(绝对)路径?My Download文件夹位于以下文件夹旁边:报警,Android,数据,DCIM,文档,电影,音乐,通知,图片,...
设备:银河S8+ SM-G955 F。安卓系统8.0。非根。Flutter测试版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-G955 F. Android 8.0上的Solid-Explorer文件管理器中找到或访问这3个文件夹。我只想找到以下文件夹的绝对路径(如下载):
- 我可以用我的Android文件管理器应用程序访问。
- 我可以从我的flutter项目在这个文件夹中写入文件。
8条答案
按热度按时间fumotvh31#
我个人使用这种方法:
输出:
对于IOS:(@Wai Yan提到)也许可以在您的www.example.com中添加以下密钥,以便更好地查看文档文件夹中的应用程序(https://stackoverflow.com/a/74457977/10088439)。plist.info to better see your app in document folder ( https://stackoverflow.com/a/74457977/10088439 ).
nkhmeac62#
我用这个库来获取Android中的公共下载目录
ext_storage
piztneat3#
你可以使用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]);
来完成这一操作lnlaulya4#
将函数
getApplicationDocumentsDirectory()
更改为getExternalStorageDirectory()
,它应该显示应用程序的外部目录。zi8p0yeb5#
您应该使用本机功能。
此时,
path_provider
包提供了访问电话簿的功能。使用它,您可以访问:临时目录、应用程序目录、外部存储。
文件:https://pub.dartlang.org/packages/path_provider
xmjla07d6#
Flutter中
https://pub.dev/packages/ext_storage
安装将ext_storage作为一个独立项添加到您的项目pubspeck. yaml中。
用法首先,编写import ext_storage包。
xmd2e60i7#
我简化了它没有插件我用这个代码和它的工作就像一个魅力
x8diyxa78#
使用路径提供程序包,您应该能够做到: