很多时候应用程序在运行过程中需要保存一些临时数据,不少应用都是自己在sdcard根目录创建一个文件夹,然后应用被卸载后,文件夹仍然存在。而且当安卓6.0及以上版本使用SD存放数据时还得动态获取权限,实在麻烦。
其实当应用首次运行时,系统已经为程序创建了文件夹可用作数据缓存,我们可以直接使用,更爽的是不需要去动态申请权限,甚至不需要在清单文件中注册存储权限。
当需要临时存储一些缓存文件时,我们可以这样指定存储路径:
public String getDiskCacheDir(Context context) {
String cachePath = null;
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
|| !Environment.isExternalStorageRemovable()) {
cachePath = context.getExternalCacheDir().getPath();
} else {
cachePath = context.getCacheDir().getPath();
}
return cachePath;
}
Context.getExternalCacheDir()方法可以获取到:SDCard/android/data/你的应用包名/cache
Context.getCacheDir()方法获取到:/data/data/<application package>/cache
原文地址:http://blog.csdn.net/u011494050/article/details/39671159
网友评论