elm*_*i16 5 dart flutter flutter-dependencies
import 'package:path_provider/path_provider.dart';
import 'dart:io';
void createAppFolder() async {
final directory = await getExternalStorageDirectory();
final dirPath = '${directory.path}/some_name' ;
await new Directory(dirPath).create();
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的当然我设置了写入存储的权限但是这段代码在这个路径上创建了一个目录 /storage/emulated/0/Android/data/com.example.test_app/files/some_name
我需要在这个路径上创建/storage/emulated/0/some_name任何想法我做错了什么或者他们是另一种方式来做到这一点??
小智 6
如果你想创建目录/storage/emulated/0试试这个。
import 'dart:io';
_createFolder()async{
final folderName="some_name";
final path= Directory("storage/emulated/0/$folderName");
if ((await path.exists())){
// TODO:
print("exist");
}else{
// TODO:
print("not exist");
path.create();
}
Run Code Online (Sandbox Code Playgroud)
}
对我来说这个作品
permission_handler
但首先在你的 Android Manifest 中设置权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)
Future<String> createFolder(String cow) async {
final folderName = cow;
final path = Directory("storage/emulated/0/$folderName");
var status = await Permission.storage.status;
if (!status.isGranted) {
await Permission.storage.request();
}
if ((await path.exists())) {
return path.path;
} else {
path.create();
return path.path;
}
}
Run Code Online (Sandbox Code Playgroud)
另请注意:如果您命名createFolder(".folder")该文件夹将被隐藏。
| 归档时间: |
|
| 查看次数: |
6025 次 |
| 最近记录: |