Appareil photo intégré, à l'aide de l'extra MediaStore.EXTRA_OUTPUT stocke des images deux fois (dans mon dossier, et dans la valeur par défaut)
Je suis en train de développer une application qui utilise la Caméra intégrée.
J'appelle cet extrait en cliquant sur un bouton :
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
//Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
path += "/myFolder/myPicture.jpg";
File file = new File( path );
//file.mkdirs();
Uri outputFileUri = Uri.fromFile( file );
//String absoluteOutputFileUri = file.getAbsolutePath();
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, 0);
Après avoir pris une photo avec l'appareil photo, le format jpg est bien conservés dans sdcard/myFolder/myPicture.jpg mais il est également stockées dans /sdcard/DCIM/Camera/2011-06-14 10.36.10.jpg qui est le chemin d'accès par défaut.
Est-il un moyen pour empêcher l'Appareil photo intégré pour stocker l'image dans le dossier par défaut?
Edit : je pense que je vais utiliser l'Appareil photo de classe directement
keep it up........thnks
OriginalL'auteur darksider | 2011-06-14
Vous devez vous connecter pour publier un commentaire.
Une autre façon, testé sur android 2.1, c'est de prendre l'ID ou le chemin d'accès Absolu de la galerie de la dernière image, puis vous pouvez supprimer l'image dupliquée.
Il peut être fait comme ça:
Et de supprimer le fichier:
Ce code est basé sur le post: La suppression d'une image de la galerie après la caméra intention de prise de photo
son bon travail.mais dans mon cas c'supprimer des images à partir de dossier de la carte SD.Je suis à l'aide de téléphones Sony Ericsson.Dans mon application, j'ai capturer des images et d'économiser sur le dossier de la carte SD et de retour à l'activité dans laquelle j'ai ajouté l'affichage de la grille qui obtenir les images de la carte sd et de les ajouter à l'affichage de la grille.votre code fonctionne bien, mais il supprimer de mon dossier.toute aide sera appréciable.
Je ne suis pas sûr si je vous comprends bien. Si vous ne voulez pas de dele il suffit de ne pas appeler removeImage.
Fonctionne très bien pour moi................
Ne pensez-vous pas supprimer d'images erronées dans lequel les images dupliquées ne sont pas créés
OriginalL'auteur Derzu
Tandis que la réponse de "Ilango J" donne l'idée de base.. je croyais que j'avais fait écrire dans la façon dont je l'ai fait.
Le fichier temporaire chemin que nous avons été mise dans l'intention.putExtra() doit être évitée, car c'est un non standard sur divers matériels. Sur HTC Desire (Android 2.2), il n'a pas fonctionné, Et j'ai entendu dire qu'il fonctionne sur d'autres téléphones. Il est préférable d'avoir une approche neutre qui fonctionne à chaque où la.
Veuillez noter que cette solution (à l'aide de l'Intention) exige que le téléphone avec la Carte SD est disponible et n'est pas monté sur le PC. Même l'application Appareil photo ne fonctionne pas lorsque la Carte SD est connecté à l'ordinateur.
1) Lancer l'Appareil photo Capture d'intention. Remarque, j'ai désactivé le fichier temporaire écrit (non-standard à travers le matériel différent)
2) Poignée de rappel et de récupérer l'image capturée chemin de l'Uri de l'objet et de le passer à l'étape#3
3) les clones et supprimer le fichier. Voir que j'ai utilisé l'Uri de l'InputStream pour lire le contenu.
La même chose peut être lu à partir du Fichier de la
capturedPicFilePath
trop.Oui, il y a un problème avec Samsung Fabriqués téléphones. Je vais poster l'approche dès que je trouve une solution de contournement. Je viens de commander un couple de Nexus S téléphones qui ont l'Appareil photo Samsung Problème aussi.. Google.. d'Autres sont confrontés à la question de trop.
Cela fonctionne, mais lorsque la photo est prise de métadonnées est enregistré avec MediaStorage donc, quand vous allez à parcourir la Galerie de la manette pour ensuite l'image va toujours être là, même si le fichier a disparu. Comment enlevez-vous ça?
Désolé, je dois ajouter que c'est sur le Désir 2.2
OriginalL'auteur Swaroop
essayez ce code:
MediaStore.EXTRA_OUTPUT
décide de Chaîne"output"
tropfaire une chose après l'image capturée supprimer myPicture.jpg image. à l'aide de fichier.delete() de la fonction.
OriginalL'auteur ilango j