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
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 に答える
0

を呼び出しますfinish()。アクティビティは終了します。前のアクティビティに戻ります。

于 2013-07-17T06:30:35.157 に答える