J'essaye de supprimer les images stockées dans la mémoire interne. Je suis venu avec ceci jusqu'à présent:
File dir = getFilesDir();
File file = new File(dir, id+".jpg");
boolean deleted = file.delete();
Et cela provient d'une autre question, à laquelle on a répondu :
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.
inputHandle.getImgPath(id)
est filePathAvez-vous essayé Context.deleteFile () ?
la source
new OutputStreamWriter(context.openFileOutput(fileName, Context.MODE_PRIVATE)).write(data);
Cela fonctionne pour moi:
la source
Le code
File dir = getFilesDir();
ne fonctionne pas car il s'agit d'une demande d'objet File. Vous essayez de récupérer la chaîne qui déclare le chemin de votre répertoire, vous devez donc déclarer 'dir' comme une chaîne, puis demander que le chemin absolu du répertoire sous forme de chaîne soit retourné par le constructeur qui a accès à ces informations .la source
Vous pouvez aussi utiliser:
file.getCanonicalFile().delete();
la source
Avez-vous essayé
getFilesDir().getAbsolutePath()
?Il semble que vous avez résolu votre problème en initialisant l'objet File avec un chemin complet. Je pense que cela ferait également l'affaire.
la source
ne fonctionne pas dans mon cas.
renvoie toujours false.
Le problème a été résolu en utilisant le code ci-dessous:
la source
C'est un vieux sujet, mais j'ajouterai mon expérience, peut-être que quelqu'un trouvera cela utile
solution1:
ici, j'initialise le résolveur de contenu et le supprime avec un paramètre passé de cet URI
solution2 (ma première solution-de la tête en ce moment je sais que): le résolveur de contenu existe ...
J'espère que cela sera utile à quelqu'un heureux de coder
la source