Android>7.0获得外部存储设备路径建议不要使用Environment.getExternalStorageDirectory()

原因:FileNotFoundException open failed: XXXXXXX EPERM (Operation not permitted)
权限全部添加依然报错,主要因为安卓系统的权限要求非常严格
建议改成:

ContextWrapper cw = new ContextWrapper(getApplicationContext());
File directory = cw.getExternalFilesDir(Environment.DIRECTORY_MUSIC);
File file = new File(directory, "something" + ".MP3");

getExternalFilesDir()要传入一个String类型的type,该参数定义在Environment类中如下:

public static String DIRECTORY_MUSIC = "Music";
public static String DIRECTORY_ALARMS = "Alarms";
public static String DIRECTORY_NOTIFICATIONS = "Notifications";
public static String DIRECTORY_PICTURES = "Pictures";
public static String DIRECTORY_MOVIES = "Movies";
public static String DIRECTORY_DOWNLOADS = "Download";
public static String DIRECTORY_DCIM = "DCIM";
public static String DIRECTORY_DOCUMENTS = "Documents";

完美解决

FileNotFoundException open failed: XXXXXXX EPERM (Operation not permitted)的坑相关推荐

  1. Android:访问存储失败.FileNotFoundException open failed: XXXXXXX EPERM (Operation not permitted)

    Android:访问存储失败.FileNotFoundException open failed: XXXXXXX EPERM (Operation not permitted) 设备/引擎:Mac( ...

  2. Android 11 中文件存储(FileNotFoundException open failed: EPERM (Operation not permitted))

    使用之前的方式进行文件存储会得到如下错误 FileNotFoundException open failed: EPERM (Operation not permitted) 就是无法获取文件路径了 ...

  3. Error: EPERM: operation not permitted, unlink 'D:\Sources\**\node_modules\fsevents\node_modules\abbr

    原因 编辑器或IDE打开了vue项目,我的是idea打开了 vue 解决办法 关闭IDE或编辑器,删除node_modules文件目录,然后重新执行npm install命令 注意windows系统需 ...

  4. npm install 提示权限不足 Error: EPERM: operation not permitted, unlink XXX

    问题描述 使用npm install出现 npm install 提示权限不足 Error: EPERM: operation not permitted, unlink XXX提示 原因 这里原因有 ...

  5. 安装Pod时提示ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod...

    环境:OSX EI 10.11.1 昨天切换gem源后,招待pod安装没有任何问题,也可以正常用$ gem sources --add https://ruby.taobao.org/ --remov ...

  6. npm ERR! { Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_cache\_locks'

    vue项目安装json-server报错npm ERR!  { Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodej ...

  7. npm安装报错Error: EPERM: operation not permitted解决方案

    电脑重装系统后重新配置环境安装node后,npm命令安装报错 Error: EPERM: operation not permitted npm ERR! code EPERM npm ERR! sy ...

  8. yarn install 遇到的错误消息 - Error EPERM operation not permitted, open .yarnrc

    我在某个 Angular 项目文件下执行 npm install 命令时,遇到如下错误: Error: EPERM: operation not permitted, open C:\Users\i0 ...

  9. npm install 报错(npm ERR! errno -4048,Error: EPERM: operation not permitted,)解决方法

    npm install 报错(npm ERR! errno -4048,Error: EPERM: operation not permitted,)解决方法 参考文章: (1)npm install ...

最新文章

  1. Java实现图的深度和广度优先遍历算法
  2. Android通用流行框架大全
  3. Python 递归函数 - Python零基础入门教程
  4. 反射机制——获取Class中的构造函数
  5. .tar.bz2文件解压命令
  6. (十七)用JAVA编写MP3解码器——解码Layer1
  7. 19.MongoDB值distinct性能验证
  8. SQL:where 和 having 的区别
  9. 弹性系数和线径的计算公式_压缩弹簧弹力的计算公式
  10. css黄金色渐变值,ps金色(ps金色渐变数值)
  11. 索尼计算机bios正确设置,索尼vaio笔记本如何进入bios设置_索尼笔记本进入bios图解...
  12. 机电一体化柔性生产线加工实训系统(5站)
  13. 人工智能助力复工复产,模版OCR轻松搞定健康码识别
  14. 借助Amazon EMR与外部KDC进行身份认证,有效集成业务场景
  15. 面向功利编程,面向Star开源? 一个开发者的2019反思总结
  16. 招聘网站分析-智联招聘网的爬虫设计与实现
  17. java里怎么给excel加框线,使用Jacob操作word 添加表格时 如何给表格添加边框线
  18. APP抓不到包及问题解决方法
  19. 产品经理撰写需求文档
  20. 字节等单位与进制转换

热门文章

  1. Python--数据库
  2. 数据库表数据如何去重
  3. 大物下学期期末复习笔记
  4. Leecode101_isSymmetric
  5. 国家发明专利:基于改进型黏菌优化算法的业务资源分配方法
  6. 【IO/NIO】Java NIO浅析
  7. Python学习笔记(八)—切片(slicing)
  8. Communication error with Jack server
  9. 机械工程毕业论文题目
  10. 如果我有一颗私人卫星……|潮科技有奖问答评论精选 ②