我这个用了动态获取权限依旧file.mkdirs()返回false,

我这个用了动态获取权限依旧file.mkdirs()返回false,

我可以把代码发给我老师帮我看看嘛?

正在回答

登陆购买课程后可参与讨论,去登陆

4回答

代码错了,获取sd卡目录不是Environment.getExternalStorageState()(这个是获取SD卡状态的,是用来判断的),应该是getExternalStorageDirectory(),另外你把目录设置其他的不用360的,例如

File cacheDir = Environment.getExternalStorageDirectory();
File parentDir = new File(cacheDir, "mycache");
if (!parentDir.exists()) {
    parentDir.mkdirs();
}


提问者 睡觉也在学编程 2018-01-15 15:38:33

我可以在ddms中往sdcard0中添加数据了,但是我用代码依旧不能创建路径

提问者 睡觉也在学编程 2018-01-15 13:40:39

我用的是手机啊


  • 你操作的是data目录还是sdCard目录?
    2018-01-15 14:13:59
  • 提问者 睡觉也在学编程 回复 irista23 #2
    我用的不就是老师讲的Environment.getExternalStorageState()+File.separator+"具体路径"
    2018-01-15 14:15:42
  • irista23 回复 提问者 睡觉也在学编程 #3
    如果是手机且4.0版本,你检查下你手机的sdCard是否有读写权限,另外检查一下你的清单文件是否添加了<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    2018-01-15 14:18:37
irista23 2018-01-15 10:41:03

你把目标版本降低到Android6.0以前,然后再file.mkdirs()看返回值,如果还是false就不是权限申请代码的问题,可能就是没有sdCard的操作权限。如果是true,说明是动态或者清单文件里的权限有问题。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android从界面到数据存储2018版
  • 参与学习       504    人
  • 提交作业       1003    份
  • 解答问题       1044    个

本专题是专为有Java语言基础想入坑Android开发的同学们准备的。从AndroidUI基础一直到网络,数据存储,一步到位入门Android开发。如果你会Java,那就不要犹豫了~ ~

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师