功能需要,尝试在本地sd卡上创建文件和文件夹的时候,报错,程序崩溃。

一般情况下,是忘记给予sd卡的读写权限。但是这里面权限已经给了,还是报错。

在网上搜索关于这方面的问题,发现有网友给出解答:

4.4之后,不能随便在sd卡上面创建文件或者文件夹了,

只能在Android/data/你的包名/,

这个路径下创建或者修改,当然,Android/data/你的包名/,这个路径你也是创建不了的,

调用下this.getExternalFilesDir(null)系统会默认给你创建,

然后就可以在Android/data/你的包名/下作读写操作了。

这里面的4.4之后不一定都存在这个问题。说法有点片面。

不过假如app需要分发到应用市场的话,还是需要考虑这方面的。

下面是获取文件路径的几种方式:

        System.out.println(Environment.getExternalStorageDirectory().getPath());        System.out.println(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES));        System.out.println(getExternalCacheDir().toString()); //这个地方不会报错了        System.out.println(getExternalFilesDir(null).toString());  //这个地方不会报错了

  

后面两个才是需要的。

更多相关文章

  1. 【转】创建和使用Android(安卓)library工程
  2. Android(安卓)Studio 创建第一个项目应用
  3. 学习Android前需要了解的几个重要概念
  4. Android中的OpenSL ES是如何实现的?
  5. Windows下的Android(安卓)SDK下载,2.2之前各个版本及Google API,文
  6. 【Android(安卓)Training - 04】保存数据 [ Lesson 3 - 保存数据
  7. 《Android基础》------2.存储方式
  8. 双击运行Android模拟器、创建SDcard、AVD、安装APK文件、上传文
  9. android-Handler源码解析

随机推荐

  1. 快过年了,推荐款好应用
  2. Intent的使用
  3. 使用adb时,为什么只有RockChip的ID需要加
  4. Android获取设备唯一ID的方法
  5. Android(安卓)import dalvik.system.VMRu
  6. 活用Android线程间通信的Message机制
  7. SQLite操作
  8. 学习路上的第二个项目:安卓二维码
  9. 上周热点回顾(5.13-5.19)
  10. android: 内容提供器简介