一个小项目中File.mkdirs()一直不成功,非常费解,后来仔细的查log,发现有下面这么个提示

E/MediaProvider: Creating a non-default top level directory or deleting an e

代码是从自己其它的项目中移植过来的,在其它app上一直正常运行,结果在这个项目上就是老是出现问题,百度后,只有聊聊几条信息,找到国外的一个网页上才找到问题的所在,原来新的项目的targetVersion=30, 原来项目是targetVesion=26,在生成文件夹的时候用到了

 Environment.getExternalStorageDirectory()

但该方法在targetVersion=30的情况下已经@Deprecated

所以会报错,那么有两种解决方法

1.就是直接降级,将targetVerson降低到28

2.就是将获取根目录的方法改为context.getExternalFilesDir("photoeditor" )

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐