之前在开发app时,一直苦于如何在卸载时将sd卡中数据清除,尝试过监听卸载动作,然后执行清除操作等方式,均行不通,这两天看文章,注意到下面这个方法:
自动清除方法
将数据存储在/sdcard/Android/data/<application package-name>/cache目录下,该路径被Android系统认定为应用程序的缓存路径,当程序被卸载时,这里的数据也会一起被清除掉。
附录
获取缓存目录的方法
public File getDiskCacheDir(Context context, String uniqueName) {
String cachePath;
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
|| !Environment.isExternalStorageRemovable()) {
cachePath = context.getExternalCacheDir().getPath();
} else {
cachePath = context.getCacheDir().getPath();
}
return new File(cachePath + File.separator + uniqueName);
}
有SD卡的设备,获取到的目录即为/sdcard/Android/data/<application package-name>/cache,无SD卡的设备获取到的目录即为 /data/data/<application package>/cache。