Android 无法在Flatter中创建应用程序目录
我正在构建和颤振应用程序,需要在设备中创建自己的文件夹或目录,但我无法做到这一点,这是我创建该文件夹的代码Android 无法在Flatter中创建应用程序目录,android,flutter,Android,Flutter,我正在构建和颤振应用程序,需要在设备中创建自己的文件夹或目录,但我无法做到这一点,这是我创建该文件夹的代码 Future <io.Directory> get getExternalVisibleDir async{ try { if (await io.Directory('/storage/emulated/0/myFolder').exists()) { final externalDir = io.Directory('/storage/e
Future <io.Directory> get getExternalVisibleDir async{
try {
if (await io.Directory('/storage/emulated/0/myFolder').exists()) {
final externalDir = io.Directory('/storage/emulated/0/myFolder');
return externalDir;
} else {
await io.Directory('/storage/emulated/0/myFolder').create(
recursive: true);
final externalDir = io.Directory('/storage/emulated/0/myFolder');
return externalDir;
}
}catch(e){
print("Unable to create directory");
}
}
您可能可以使用一个Flutter包为您完成一些工作。 使用path_provider,您可以使用
目录appDocDir=wait getApplicationDocumentsDirectory()
以获取应用程序目录
我不确定您的确切用例是什么,但如果它将文件保存在目录中并稍后检索,这可能是您最好的选择。Future get getExternalVisibleDir async{
Future <io.Directory> get getExternalVisibleDir async{
io.Directory Directory;
try {
if (await Permission.storage.isGranted) {
Directory = await getExternalStorageDirectory();
print(Directory.path);
return Directory;
} else {
requestStoragePermission();
}
}catch(e){
print("Unable to create directory");
}
}
io.目录;
试一试{
if(等待Permission.storage.isgrated){
目录=等待getExternalStorageDirectory();
打印(Directory.path);
返回目录;
}否则{
requestStoragePermission();
}
}捕获(e){
打印(“无法创建目录”);
}
}
这对我来说很管用是的,在安卓10或11设备上不再使用。您不能在外部存储的根目录上创建目录。您能给我一个正确的方法吗?我的用例就像下载一个文件并将其存储在目录中一样。该目录应该是应用程序本身的目录,就像上面的代码一样。myfolder就是其中之一
requestStoragePermission() async{
if(!await Permission.storage.isGranted){
PermissionStatus result = await Permission.storage.request();
if(result.isGranted){
setState(() {
_isgranted =true;
});
}else{
_isgranted=false;
}
}
}
Future <io.Directory> get getExternalVisibleDir async{
io.Directory Directory;
try {
if (await Permission.storage.isGranted) {
Directory = await getExternalStorageDirectory();
print(Directory.path);
return Directory;
} else {
requestStoragePermission();
}
}catch(e){
print("Unable to create directory");
}
}