我们的app一般都会需要缓存和一些图片的存储,当然我们的目录可以是自己的私有目录,getExternalCacheDir
或者getCacheDir
是不需要权限的,但是如果需要在sd卡下存储呢,此时需要WRITE_EXTERNAL_STORAGE
权限.实际上WRITE_EXTERNAL_STORAGE
权限对于我们开发者来说是一个基础权限,一些IO操作都会用到,但是在6.0中属于危险权限,是需要动态申请的(在manifest
声明无效)
由于缓存很可能在进入app的时候就需要,所以应用启动后需要尽快获取到该权限,否则可能引起崩溃(6.0机型).
这里采用的方案是在MainActivity
(或者启动页)申请这项权限,尽量让用户授权
处理WRITE_EXTERNAL_STORAGE权限
如果对6.0运行时权限还不太了解的,可以参考我的上一篇文章Android6.0运行时权限解决方案
- 效果图
- 代码:
直接在MainActivity
的onCreate
中申请权限,以下为申请存储权限的模板
/*<============&#