Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法在Flatter中创建应用程序目录_Android_Flutter - Fatal编程技术网

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");
    }
  }