Wie kann ich meine Bitmap zum zweiten Mal korrekt speichern?

Ich möchte meine Bitmap im Cache-Verzeichnis speichern. Ich benutze diesen Code:

try {
        File file_d = new File(dir+"screenshot.jpg");
        @SuppressWarnings("unused")
        boolean deleted = file_d.delete();
    } catch (Exception e) {
        // TODO: handle exception
    }

    imagePath = new File(dir+"screenshot.jpg");
    FileOutputStream fos;
    try {
        fos = new FileOutputStream(imagePath);
        bitmap.compress(CompressFormat.JPEG, 100, fos);
        fos.flush();
        fos.close();
    } catch (FileNotFoundException e) {
        Log.e("GREC", e.getMessage(), e);
    } catch (IOException e) {
        Log.e("GREC", e.getMessage(), e);
    }
}

s funktioniert gut. Aber wenn ich verschiedene Bilder auf demselben Pfad speichern möchte, läuft etwas schief. Ich meine, es wird auf demselben Pfad gespeichert, aber ich sehe es als altes Bild, aber wenn ich auf das Bild klicke, sehe ich das richtige Bild, das ich zum zweiten Mal gespeichert habe.

Vielleicht kommt es aus dem Cache, aber ich möchte kein altes Bild sehen, denn wenn ich dieses Bild mit WhatsApp teilen möchte, erscheint es richtig, wenn ich das Bild sende.

Ich möchte gespeicherte Bilder auf WhatsApp wie diesen Code teilen:

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(imagePath));
shareIntent.setType("image/jpeg");
startActivityForResult(Intent.createChooser(shareIntent, getResources().getText(R.string.title_share)),whtsapp_result);

Wie kann ich es reparieren

Danke im Voraus

Antworten auf die Frage(4)

Ihre Antwort auf die Frage