安卓6.0 文件存储权限管理
来源:互联网 发布:常用视频制作软件 编辑:程序博客网 时间:2024/06/08 17:40
由于安卓6.0更新了权限管理,使用最新的SDK编译的时候,
缓存到自定义的目录下出现问题,因为没有获取对应的权限,
6.0以前的系统不需要获取权限,最快的方式是使用官方推荐的缓存地址
(不推荐)
(推荐)
public static String PATH = App.getInstance().getExternalCacheDir() + "/judian/image/";
App.getInstance() 是 Context使用该缓存地址,可以使用系统的缓存清理功能,而且在卸载软件的同时,会自动清理该文件夹,减少开发者对缓存的管理
(不建议)对于执意想要获取权限的,可以采用以下方案,弹出对话框给用户,来申请 WRITE_EXTERNAL_STORAGE 权限, 具体实现的代码请自行百度
安卓存储权限
1. 应用 私有存储(内置存储)
获取方式:
Context.getFileDir() :获取内置存储下的文件目录,可以用来保存不能公开给其他应用的一些敏感数据如用户个人信息
Context.getCacheDir() :获取内置存储下的缓存目录,可以用来保存一些缓存文件如图片,当内置存储的空间不足时将系统自动被清除(然而具体多大,清除时的策略我也没查到。。)
绝对路径:
Context.getFileDir() : /data/data/应用包名/files/
Context.getCacheDir() : /data/data/应用包名/cache/
写权限:不需要申请
这是手机的内置存储,没有root的过的手机是无法用文件管理器之类的工具查看的。而且这些数据也会随着用户卸载App而被一起删除。这两个目录其实就对应着 设置->应用->你的App->存储空间 下面的 清除数据 和 清楚缓存
2. 应用
扩展存储(SD卡)
获取方式:
Context.getExternalFilesDir() : 获取SD卡上的文件目录
Context.getExternalCacheDir() : 获取SD卡上的缓存目录
绝对路径:
Context.getExternalFilesDir() : SDCard/Android/data/应用包名/files/
Context.getExternalCacheDir() : SDCard/android/data/应用包名/cache/
写权限:
API < 19:需要申请(理解:manifest 配置下就OK了啊)
API >= 19:不需要申请
既然是SD卡上的目录,那么是可以被其他的应用读取到的,所以这个目录下,不应该存放用户的敏感信息。同上面一样的,这里的文件会随着App卸载而被删除,也可以由用户手动在设置界面里面清除。
3.公共存储(SD卡)
获取方式: Environment.getExternalStorageDirectory()
绝对路径: SDCard/你设置的文件夹名字/
写权限:需要申请
如果我们的App需要存储一些公共的文件,甚至希望下载下来的文件即使在我们的App被删除之后,还可以被其他App使用,那么就可以使用这个目录。这个目录是始终需要申请SD写入权限的。
地址:http://blog.csdn.net/chenhuakang/article/details/52756964
- 安卓6.0 文件存储权限管理
- 安卓6.0 文件存储权限管理
- 安卓文件存储权限管理三种目录
- 安卓7.0文件存储权限变更
- 安卓6.0权限管理
- 安卓权限管理
- 安卓权限管理
- 安卓6.0的权限管理
- 安卓拍照及图片裁剪(6.0以上权限处理及7.0以上文件管理)
- 安卓动态权限管理
- 安卓文件存储
- 安卓文件权限修改
- 安卓USB通信之权限管理
- 安卓USB通信之权限管理
- 安卓6.0权限
- 安卓的文件存储
- 安卓数据存储1--文件存储
- 安卓6.0添加文件权限的方法
- navicat连接oracle数据库报ORA-28547,ORA-03135错误的解决方法
- iPhone屏幕尺寸、分辨率及适配
- 动态手势识别--操作数据库(一)
- Apache和Tomcat的区别
- Scala json转map,map转json
- 安卓6.0 文件存储权限管理
- AM3353平台上的Linux 3.2.0 IIO子文件系统框架的驱动
- progressbar 自定义(进度)颜色(timertaskl定时器模拟)
- 根据图片后缀显示图片gif png
- jvisualvm 连接 jstatd监控jvm
- 关于Flash和JS相互调用的例子
- html5标签应用
- Java知识:我对面向对象面向过程的理解&类和对象的关系
- Python入门 装饰器的使用