一个小项目中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" )