颤振:从可移动存储中删除文件时的错误权限



我在这个地址里有一个文件:

path = '/storage/084C-1C0F/Yalin - Deva Bize Sevisler [128].mp3'

因此,在 android 清单中插入此权限后:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

我想删除这个文件:

checkPermission().then((value) {
final dir = Directory(model.path);
dir.deleteSync(recursive: true);
BlocProvider.of<AllMusicBloc>(context)
.add(DeleteDeviceMusic(model.id));
});
Future<bool> checkPermission() async {
var status = await Permission.storage.status;
if (!status.isGranted) {
await Permission.storage.request();
}
return true;
}

但是我得到了这个错误:

E/flutter (16660): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: FileSystemException: Deletion failed, path = '/storage/084C-1C0F/Yalin - Deva Bize Sevisler [128].mp3' (OS Error: Permission denied, errno = 13)

可移动的micro sd卡对于该路径不可写

我认为 Flutter 没有自己这样做,因为我使用了本机代码

对于安卓 :

private void removeFile(String path){
File sd = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File image = new File(sd+ File.separator, path);
if (image.exists()) {
if (image.delete()) {
System.out.println("file Deleted :" + image.getPath());
} else {
System.out.println("file not Deleted :" + image.getPath());
}
}
}

最新更新