Je crée un fichier à envoyer en pièce jointe à un e-mail. Maintenant, je veux supprimer l'image après avoir envoyé l'e-mail. Existe-t-il un moyen de supprimer le fichier?
J'ai essayé myFile.delete();
mais cela n'a pas supprimé le fichier.
J'utilise ce code pour Android, donc le langage de programmation est Java en utilisant les moyens Android habituels pour accéder à la carte SD. Je supprime le fichier dans la onActivityResult
méthode, lorsqu'un Intent
est renvoyé à l'écran après l'envoi d'un e-mail.
android
android-sdcard
mudit
la source
la source
Réponses:
où selectedFilePath est le chemin du fichier que vous souhaitez supprimer - par exemple:
la source
Vous devez également donner la permission si vous utilisez> 1.6 SDK
dans le
AndroidManifest.xml
fichierla source
ContentResolver
Changer pour Android 4.4+
Les applications ne sont pas autorisées à écrire (supprimer, modifier ...) sur le stockage externe , sauf dans leurs répertoires spécifiques au package .
Comme l'indique la documentation Android:
Cependant, une solution de contournement désagréable existe (voir le code ci-dessous) . Testé sur Samsung Galaxy S4, mais ce correctif ne fonctionne pas sur tous les appareils. De plus, je ne compterais pas sur cette solution de contournement disponible dans les futures versions d'Android.
Il existe un excellent article expliquant le changement des autorisations de stockage externe (4.4+) .
Vous pouvez en savoir plus sur la solution de contournement ici . Le code source de la solution de contournement provient de ce site .
la source
false
et ne supprime pas le fichier :-(Le contexte Android utilise la méthode suivante:
Je pense que cela fera ce que vous voulez avec les bonnes prémisses d'application énumérées ci-dessus.
la source
context.deleteFile(filename);
Supprimer récursivement tous les enfants du fichier ...
la source
Cela fonctionne pour moi: (Supprimer l'image de la galerie)
la source
Ce code vous aidera. Et dans le manifeste Android, vous devez obtenir la permission d'apporter des modifications.
la source
file.exists:true file.isDirectory:true file.canRead:false file.canWrite:false
Essaye ça.
depuis Apache Commons
la source
Désolé: il y a une erreur dans mon code avant à cause de la validation du site.
Je pense que c'est clair ... Vous devez d'abord connaître l'emplacement de votre fichier. La deuxième ,,,
Environment.getExternalStorageDirectory()
est une méthode qui obtient le répertoire de votre application. Enfin la classe File qui gère votre fichier ...la source
J'ai eu un problème similaire avec une application fonctionnant sous 4.4. Ce que j'ai fait était une sorte de hack.
J'ai renommé les fichiers et les ai ignorés dans mon application.
c'est à dire.
la source
Cela a fonctionné pour moi.
la source
la source
Vous pouvez supprimer un fichier comme suit:
la source
Ou essayez ceci:
la source