Как очистить кэш приложений Android?

Я пишу приложение, которое может программно очистить кэш приложений всех сторонних приложений, установленных на устройстве. Ниже приведен фрагмент кода для Android 2.2

public static void trimCache(Context myAppctx) {

    Context context = myAppctx.createPackageContext("com.thirdparty.game", 
            Context.CONTEXT_INCLUDE_CO|Context.CONTEXT_IGNORE_SECURITY);

    File cachDir = context.getCacheDir();        
    Log.v("Trim", "dir " + cachDir.getPath());

    if (cachDir!= null && cachDir.isDirectory()) {

        Log.v("Trim", "can read " + cachDir.canRead());
        String[] fileNames = cachDir.list();
        //Iterate for the fileName and delete
    }
}

Мой манифест имеет следующие разрешения:

android.permission.CLEAR_APP_CACHE
android.permission.DELETE_CACHE_FILES

Теперь проблема в том, что имя каталога кэша печатается, но список файлов cachDir.list() всегда возвращает null. Я не могу удалить каталог кэша, так как список файлов всегда равен null.

Есть ли другой способ очистить кэш приложения?

6
задан Octavian A. Damiean 12 December 2011 в 13:42
поделиться