I got my solution by changing my FileCache
class and its destination folder
public class FileCache {
private File cacheDir;
private File nomediaFile;
String NOMEDIA = " .nomedia";
public FileCache(Context context) {
// Find the dir to save cached images
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
cacheDir = new File(Environment.getExternalStorageDirectory()
+ "/mydir");
if (cacheDir.mkdir()) {
nomediaFile = new File(
Environment.getExternalStorageDirectory() + "/mydir/"
+ NOMEDIA);
if (!nomediaFile.exists()) {
try {
nomediaFile.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
} else {
cacheDir = context.getCacheDir();
}
if (!cacheDir.exists())
cacheDir.mkdirs();
}
public File getFile(String url) {
// I identify images by hashcode. Not a perfect solution, good for the
// demo.
// String filename=String.valueOf(url.hashCode());
// Another possible solution (thanks to grantland)
@SuppressWarnings("deprecation")
String filename = URLEncoder.encode(url);
File f = new File(cacheDir, filename);
return f;
}
public void clear() {
File[] files = cacheDir.listFiles();
if (files == null)
return;
for (File f : files)
f.delete();
}
}