之前在開發(fā)app時夷都,一直苦于如何在卸載時將sd卡中數(shù)據(jù)清除,嘗試過監(jiān)聽卸載動作吴旋,然后執(zhí)行清除操作等方式损肛,均行不通,這兩天看文章荣瑟,注意到下面這個方法:
自動清除方法
將數(shù)據(jù)存儲在/sdcard/Android/data/<application package-name>/cache目錄下治拿,該路徑被Android系統(tǒng)認(rèn)定為應(yīng)用程序的緩存路徑,當(dāng)程序被卸載時笆焰,這里的數(shù)據(jù)也會一起被清除掉劫谅。
附錄
獲取緩存目錄的方法
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卡的設(shè)備,獲取到的目錄即為/sdcard/Android/data/<application package-name>/cache嚷掠,無SD卡的設(shè)備獲取到的目錄即為 /data/data/<application package>/cache捏检。