0

我希望一旦您清除缓存将被发送到 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。谢谢!!!

4

2 回答 2

0

打电话finish(),活动将结束你会回到你以前的

于 2013-07-17T06:30:35.157 回答
0
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();

                    }


    }
startActivity(new Intent(context,MainActivity.class));

}

我希望它会有所帮助!

于 2013-07-17T06:34:26.753 回答