Desidero salvare la mia bitmap nella directory cache. Io uso questo codice:Come posso salvare la mia bitmap correttamente per la seconda volta?
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);
}
}
it s lavorando bene. Ma se voglio salvare diversi img nello stesso percorso, qualcosa va storto. Voglio dire che è salvato sullo stesso percorso ma lo vedo vecchio, ma quando clicco sull'immagine posso vedere l'immagine corretta che ho salvato la seconda volta.
Forse è venuto dalla cache ma non voglio vedere la vecchia immagine perché quando voglio condividere quell'immagine con whatsapp vecchia immagine vista, se invio l'immagine sembra corretta.
voglio condividere un'immagine salvata su WhatsApp come questo codice:
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);
Come posso risolvere il problema?
grazie in anticipo.
migliore pratica è quando si salva una nuova immagine prima cancellare l'immagine precedente (stesso nome immagine) dalla directory. –
Elimina l'immagine prev come puoi vedere nel mio codice, non funziona? –
controlla il valore 'cancellato'. Se l'immagine viene cancellata, non tornerà mai più. –