Android examples for App:Cache
delete File External Cache
/*/*from w w w .j ava 2 s . c o m*/ * Copyright (C) 2011 Catch.com * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. * * Harry Tormey <harry@catch.com> Modified by Omar Pera <omar@androidsx.com> */ //package com.book2s; import java.io.File; import java.io.IOException; import android.content.Context; import android.os.Environment; import android.util.Log; public class Main { private static final String NOMEDIA_FILENAME = ".nomedia"; private static final String TAG = "FileCacheUtil"; public static void deleteFileExternalCache(Context context, String fileName) { if (isSdCardWritable()) { File externalDir = getExternalCacheDir(context); if (externalDir != null) { File toBeDeletedFile = new File(externalDir, fileName); if (toBeDeletedFile.exists()) { toBeDeletedFile.delete(); Log.d(TAG, "Deleting " + toBeDeletedFile.getPath()); } } } else { Log.w(TAG, "Sdcard not writable while deleting " + fileName); } } /** * Returns whether the SD card is available and writable */ public static boolean isSdCardWritable() { return Environment.MEDIA_MOUNTED.equals(Environment .getExternalStorageState()); } public static File getExternalCacheDir(Context context) { return getExternalStorageDir(context, "/cache"); } /** We are supposed to check before this method if the sdcard is available */ private static File getExternalStorageDir(Context context, String dir) { if (dir != null) { File extMediaDir = new File( Environment.getExternalStorageDirectory() + "/Android/data/" + context.getPackageName() + dir); if (extMediaDir.exists()) { createNomediaDotFile(context, extMediaDir); return extMediaDir; } if (isSdCardWritable()) { extMediaDir.mkdirs(); createNomediaDotFile(context, extMediaDir); return extMediaDir; } else { Log.e(TAG, "SD card not writeable, unable to create directory: " + extMediaDir.getPath()); } } return null; } private static void createNomediaDotFile(Context context, File directory) { if (directory != null && isSdCardWritable()) { File nomedia = new File(directory, NOMEDIA_FILENAME); if (nomedia != null && !nomedia.exists()) { try { nomedia.mkdirs(); nomedia.createNewFile(); } catch (IOException e) { e.printStackTrace(); Log.e(TAG, "unable to create .nomedia file in " + directory.getPath(), e); } } } } }