Dans mon application, il y a un bouton qui va supprimer toutes les photos du téléphone avant qu'il ne soit vendu, donc personne ne peut voir les photos dans le téléphone.Supprimer toutes les photos de l'appareil Android
ce code derrière ce bouton est ce
List<Long> mediaStoreIds = new ArrayList<Long>();
Cursor c = getApplicationContext().getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{BaseColumns._ID}, null, null, null);
if (c != null) {
final int id = c.getColumnIndexOrThrow(BaseColumns._ID);
c.moveToFirst();
while (!c.isAfterLast()) {
Long mediaStoreId = c.getLong(id);
mediaStoreIds.add(mediaStoreId);
getApplicationContext().getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, BaseColumns._ID + "=?", new String[]{Long.toString(mediaStoreId)});
c.moveToNext();
}
c.close();
}
}
le problème est que lorsque débogueur atteindre cette ligne, il arrête
Cursor c = getApplicationContext().getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{BaseColumns._ID}, null, null, null);
ne sais pas pourquoi il arrête et comment y remédier
Quelqu'un peut-il m'aider ici?
Merci
Je pense que cela nécessite une autorisation. Les avez-vous déclarés dans votre manifeste et votre code? – 0xDEADC0DE
ajouter à la bonne réponse ci-dessous par Dmitry, en supprimant une photo afin qu'elle n'apparaisse pas dans un navigateur de fichiers, et en fait purger les données de manière irrécupérable via un logiciel comme "Recuva" sont deux choses différentes. [Plus d'info ici] (http://www.howtogeek.com/125521/htg-explains-why-deleted-files-can-be-recovered-and-how-you-can-prevent-it/) – Doomsknight