You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter读取外部存储JSON文件遇权限拒绝错误求助

Flutter读取共享外部目录JSON文件时权限被拒绝,可正常写入但无法读取

我在开发Flutter应用时遇到权限问题:能成功将JSON文件保存到共享外部目录/storage/emulated/0/Documents,但读取该文件时却抛出权限错误。

问题详情

使用dart:io包加载目标目录下的JSON文件,写入流程正常,读取时触发以下错误:

PathAccessException: Cannot open file, path = '/storage/emulated/0/Documents/myfile.json' (OS Error: Permission denied, errno = 13)

已尝试的解决方案

  • 在AndroidManifest.xml中声明了READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE权限
  • 已配置android:requestLegacyExternalStorage="true"

疑问

  1. 如何无权限问题地从共享外部文件夹加载JSON文件?
  2. 为什么可以写入该文件夹却无法读取?

代码示例

import 'dart:convert';
import 'dart:io';

import 'flutter_log.dart';

Future<void> loadConfig() async {
  try {
    File jsonFile = File('/storage/emulated/0/Documents/myfile.json');
    var jsonData = json.decode(jsonFile.readAsStringSync());
    writeLog(jsonData);
  } catch (e) {
    writeLog('Error: $e');
  }
}

内容的提问来源于stack exchange,提问作者Joonseo Park

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 02:42:10