キャッシュをクリアすると、MainActivity に送信されます。コードはこれです、どうすればいいですか?
Preference cache;
cache = this.findPreference("cache");
cache.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(final Preference preference) {
clearCache(Class.this);
return true;
}
});
}
public void clearCache(final Context context) {
final File cache = context.getCacheDir();
final File appDir = new File(cache.getParent());
if (appDir.exists()) {
final String[] children = appDir.list();
for (final String childFilePath : children)
if (!childFilePath.equals("lib")) {
deleteDir(new File(appDir, childFilePath));
Log.i("TAG", "**************** File /data/data/com.X.XX/" + childFilePath
+ " DELETED *******************");
Toast.makeText(getBaseContext(), "CLEAN", Toast.LENGTH_LONG).show();
}
}
}
public boolean deleteDir(final File dir) {
if (dir == null)
return true;
if (dir.isDirectory()) {
final String[] children = dir.list();
for (final String childFilePath : children) {
final boolean success = deleteDir(new File(dir, childFilePath));
if (!success)
return false;
}
}
return dir.delete();
キャッシュとデータの削除が正常に実行されたら、MainActivity に送信する必要があります。ありがとう!!!