我想在我的应用程序中添加直接从应用程序本身清除缓存的功能,而无需进入设置。在 Stack Overflow 上寻找这里我发现了这个片段,但它有很多错误。你能帮我解决吗?
Preference cache;
cache = (Preference) this.findPreference("cache");
cache.setOnPreferenceClickListener(new OnPreferenceClickListener() {
File cache = getCacheDir();
File appDir = new File(cache.getParent());
if (appDir.exists()) {
String[] children = appDir.list();
for (String s : children) {
if (!s.equals("lib")) {
deleteDir(new File(appDir, s));Log.i("TAG", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************");
}
}
}
}
public static boolean deleteDir(File dir)
{
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
return dir.delete();
}
eclipse 在此处标记错误 File appDir = new File(cache.getParent());,此处为 },此处为 public static boolean deleteDir(File dir),此处为 if (dir != null && dir.isDirectory()) {