Supprimer le fichier du stockage interne

J’essaie de supprimer les images stockées dans le stockage interne. Je suis venu avec cela jusqu’à présent:

File dir = getFilesDir(); File file = new File(dir, id+".jpg"); boolean deleted = file.delete(); 

Et ceci provient d’une autre question à laquelle on a répondu avec :

 File dir = getFilesDir(); File file = new File(dir, "my_filename"); boolean deleted = file.delete(); 

Mon exemple renvoie toujours faux. Je peux voir le fichier fx 2930.jpg dans DDMS dans eclipse.

Le getFilesDir() ne fonctionnait pas. L’utilisation d’une méthode qui renvoie le chemin complet et le nom de fichier donne le résultat souhaité. Voici le code:

 File file = new File(ih.getImgPath(id)); boolean deleted = file.delete(); 

Avez-vous essayé Context.deleteFile () ?

 Ssortingng dir = getFilesDir().getAbsolutePath(); File f0 = new File(dir, "myFile"); boolean d0 = f0.delete(); Log.w("Delete Check", "File deleted: " + dir + "/myFile " + d0); 

Le code File dir = getFilesDir(); ne fonctionne pas car il s’agit d’une demande pour un object File. Vous essayez de récupérer la chaîne qui déclare le chemin d’access à votre répertoire, vous devez donc déclarer «dir» en tant que chaîne, puis demander que le chemin d’access absolu du répertoire sous forme de chaîne soit renvoyé par le constructeur ayant access à cette information. .

Cela fonctionne pour moi:

 File file = new File(photoPath); file.delete(); context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file))); 

Vous pouvez également utiliser: file.getCanonicalFile().delete();

Avez-vous essayé getFilesDir().getAbsolutePath() ?

Il semble que vous ayez résolu votre problème en initialisant l’object File avec un chemin complet. Je crois que cela ferait aussi l’affaire.