Android: supprimer une image de la carte sd
- Je supprimer une image de la carte sd choisie par l'utilisateur.
Dans mon Activité, après un utilisateur de sélectionner une image dans la galerie, j'exécute ce code:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
Utils.imgUri = data.getData();
Utils.imgPath = getPath(Utils.imgUri);
File file = new File(Utils.imgPath);
boolean deleted = file.delete();
}
}
}
où getPath méthode est la suivante:
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
if(cursor!=null){
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
else return null;
}
Les images sont correctement supprimés, mais dans la galerie reste encore un aperçu de la disparition de l'image.
Quand je touche, est chargé une image en noir..
alors, Comment puis-je mettre à jour la galerie d'aperçus, après je supprimer quelques images de mon code d'application?
OriginalL'auteur Matteo | 2011-07-15
Vous devez vous connecter pour publier un commentaire.
Pourquoi vous complexe?
Vous pouvez le faire aussi simple que cela:
OriginalL'auteur Kalpesh
Résolu en ajoutant:
Il fait le MediaScanner service de courir à nouveau, ce qui devrait supprimer l'image supprimé à partir du périphérique de cache.
même problème ici
Super..fonctionne comme un Charme...+1 vote
OriginalL'auteur Matteo
Avez-vous mis la
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
autorisation dans le fichier manifest?OriginalL'auteur az4dan
Êtes-vous sûr que le chemin d'accès du fichier est correcte? Parce que la façon dont vous faites la suppression réelle devrait être bon, voir ce fil:
Comment supprimer un fichier de la carte SD?
Devrait le répertoire /mnt/être vraiment là? Aussi, avez-vous les autorisations pour supprimer des fichiers de l'espace de stockage? (android.la permission.WRITE_EXTERNAL_STORAGE)
Il semble que le chemin est mauvais, mais, depuis fichier.il existe() renvoie la valeur false. Voici un autre (mais similaire) pour obtenir le chemin d'accès est utilisé: stackoverflow.com/questions/2507898/...
OriginalL'auteur Stefan H Singer
dans le paramètre "données" vous avez l'Uri trop, il suffit de faire "
data.getUri()
". Aussi, êtes-vous des tests en réel appareils? si oui et si c'est un samsung, il n'est pas de travail (voir ce fil).si vous utilisez un Fichier objet avec d'uri ne marche pas, alors essayez d'utiliser un contentResolver.supprimer(uri,null,null)
OriginalL'auteur Finuka
simple d'une ligne 😉
et dans le manifeste doit utiliser ces autorisations
android.la permission.WRITE_EXTERNAL_STORAGE
Ouais c'est vrai mais ce n'est, dans le cas où vous jouez avec la carte sd.
OriginalL'auteur Muhammad Adil
ajouter le code ci-dessous dans onDestroy méthode:
et n'oubliez pas d'ajouter la permission Manifeste fichier
android.permission.WRITE_EXTERNAL_STORAGE
OriginalL'auteur Rohit Jain