2010-10-14 5 views
2

J'ai écrit un programme qui utilise l'intention pour la capture d'image pour obtenir une photo en utilisant l'application dans le téléphone. En utilisant MediaStore.EXTRA_OUTPUT, j'obtiens un URI à l'image, qui converti en un chemin donne quelque chose comme "/ external/images/media/NN" où NN est le numéro de la photo.Comment supprimer photo vient de prendre dans le programme Android

Maintenant, dans mon programme, après avoir lu et manipulé l'image, je veux supprimer cette image.

Comment dois-je faire cela?

(File image = new File(path); image.delete(); // returns false, so doesn't work) 

Répondre

0

Est-il possible que vous n'ayez pas demandé l'autorisation WRITE_EXTERNAL_STORAGE dans votre application? Cela entraînerait l'échec des suppressions. (L'appareil photo pourrait écrire indépendamment, puisqu'il s'agit d'une application distincte avec ses propres autorisations.)

Il est également possible (mais pas probable) que le dossier multimédia ne soit accessible qu'en écriture par l'application de l'appareil photo, auquel cas vous Je veux spécifier une destination différente dans l'extra EXTRA_OUTPUT de l'intention qui invoque la caméra afin que le fichier soit écrit dans le répertoire de votre application. En fait, vous voulez probablement le faire de toute façon pour éviter d'encombrer l'espace global avec des ressources privées, même si vous allez les supprimer immédiatement.

1

Merci pour la réponse.

Je résolus de lire cette réponse, Problems saving a photo to a file

Pour moi, il fonctionne sur Hero, même si dans le commentaire dans ce code snipped dit que héros se comportent différemment. Maintenant, j'obtiens l'image dans "/sdcard/image.tmp", et je peux la supprimer. Je pense que c'est la meilleure solution, parce que je pense que c'est un problème pour essayer d'obtenir l'application de l'appareil photo pour écrire dans mon répertoire de l'application.

Merci encore.

Questions connexes