Android 开发问题:/storage/emulated/0/...: open failed: EACCES (Permission denied)

发布时间:2026/7/12 23:45:27

Android 开发问题:/storage/emulated/0/...: open failed: EACCES (Permission denied) 在 Android 开发中出现如下错误信息java.io.FileNotFoundException: /storage/emulated/0/...: open failed: EACCES (Permission denied)问题原因权限问题EACCES (Permission denied)表示系统拒绝了文件访问请求Android 11 以下必须动态申请读写权限READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE权限Android 11 即以上Google 引入了分区存储直接访问外部存储受到严格限制处理策略强行方案是申请MANAGE_EXTERNAL_STORAGE权限uses-permissionandroid:nameandroid.permission.MANAGE_EXTERNAL_STORAGE/if(Build.VERSION.SDK_INTBuild.VERSION_CODES.R){// Android 11 及以上booleanisExternalManagerEnvironment.isExternalStorageManager();Log.i(TAG,isExternalManager: isExternalManager);if(isExternalManager){// 已拥有权限}else{// 请求权限IntentintentnewIntent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION);startActivity(intent);}}else{// Android 10 及以下不需要此权限}注MANAGE_EXTERNAL_STORAGE权限包含了READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE权限

相关新闻