Situation:
I have an activity that contains an image picker function to select images. Once selected, these images are loaded/displayed in a GridView. I load the images using ImageLoader library with the following method:
ImageLoader.getInstance().displayImage("file://"+image.path, Utility.displayImageOptions);
In the same activity i have a Preview button which clicked lead to an another new activity. This new activity also contains a GridView using the same adapter code as in the previous activity. However, this GridView contains the compressed version of the images that were selected previously.
In my compression i save these bitmaps and create new files that are loaded in the second activity.
saveBitmapToFile(bitmap, index);
private void saveBitmapToFile(Bitmap bitmap, int imageIndex){
        try {
            bitmapFile = getPermanentFile(imageIndex);
            FileOutputStream fos = new FileOutputStream(bitmapFile);
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
            fos.flush();
            fos.close();
            Images image = new Images(bitmapFile.getAbsolutePath(), true, false);
            compressedImageList.add(image);
        }
        catch (IOException e){
            e.printStackTrace();
        }
    }
    private static File getPermanentFile(int imageIndex) {
        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            File file = new File(Environment.getExternalStorageDirectory(), TEMP_PHOTO_FILE + String.valueOf(imageIndex) + ".jpg");
            try {
                if (file.exists()){
                    Log.v("File exists", file.getName());
                    file.delete();
                    file = new File(Environment.getExternalStorageDirectory(), TEMP_PHOTO_FILE + String.valueOf(imageIndex) + ".jpg");
                }
                file.createNewFile();
            } catch (IOException e) {
            }
            return file;
        } else {
            return null;
        }
    }
The problem i have is that say I start with a fresh app (nothing stored in cache), select 4 images and click Preview, i get the compressed version of these four images. But then i close the app and start it again and i again select 4 different images and hit Preview BUT i get the same 4 compressed images that I got at the first time. Clearing the cache/data by going in settings resolves the problem but how can i do this in code.
I delete these files onBackPressed() but still the problem remains when i click back and then select images again.
@Override
    public void onBackPressed(){
    super.onBackPressed();
    for (Images file : compressedImageList){
        File f = new File(file.cardPath);
        boolean deleted = f.delete();
        if (deleted){
            Log.v("File deleted : ", file.cardPath);
        }
    }
    compressedImageList.clear();
}
				
                        
Have You tried
and