问题描述
我最近将所有软件包更新到了最新版本,但现在我的下载无法正常工作。它向我抛出这个运行时错误“java.io.FileNotFoundException:/storage/emulated/0/Download/meme.jpg:打开失败:EPERM(不允许操作)”
这是我的代码`
Future<void> downloadMeme(link) async {
var permissionStatus = await Permission.storage.status;
if (permissionStatus.isDenied ||
permissionStatus.isPermanentlyDenied) {
Map<Permission,PermissionStatus> statuses =
await [Permission.storage].request();
if (permissionStatus.isGranted) {
String path =
await ExtStorage.getExternalStoragePublicDirectory(
ExtStorage.DIRECTORY_DOWNLOADS);
Future<Directory> downloadsDirectory = DownloadsPathProvider
.downloadsDirectory;
final taskId = await FlutterDownloader.enqueue(
url: link,savedDir: path,showNotification: true,openFileFromNotification: true,fileName: 'meme.jpg',);
}
print(statuses[Permission.storage]);
}
else if (permissionStatus.isGranted) {
Future<Directory> downloadsDirectory = DownloadsPathProvider
.downloadsDirectory;
final Directory downloadDir = await getExternalStorageDirectory();
String path =
await ExtStorage.getExternalStoragePublicDirectory(
ExtStorage.DIRECTORY_DOWNLOADS);
final taskId = await FlutterDownloader.enqueue(
url: link,);
}
}
`
这是我的 main.dart 代码
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FlutterDownloader.initialize(
debug: true // optional: set false to disable printing logs to console
);
我也编辑了我的清单
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.camera.any" android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<application
android:name="io.Flutter.app.FlutterApplication"
android:label="Meme House"
android:icon="@mipmap/ic_launcher"
android:requestLegacyExternalStorage="true"
>
<provider
android:name="vn.hunghd.Flutterdownloader.DownloadedFileProvider"
android:authorities="${applicationId}.Flutter_downloader.provider"
android:exported="false"
android:grantUriPermissions="true">
<Meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
甚至一些其他软件包,如画廊保护程序和图像画廊保护程序也无法正常工作, 伙计们,你能帮我吗
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)