Dire à la Caméra à l'Intention de sauver la prise d'image
Je suis en train de faire ceci:
intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
final File storage = Environment.getExternalStorageDirectory();
final Uri uri = Uri.fromFile(new File(storage, System.currentTimeMillis() + ".jpg"));
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, id);
et à manipuler obtenir cette photo, je fais ceci:
private String getLastImagePath() {
final String[] imageColumns = { MediaStore.Images.Media._ID,
MediaStore.Images.Media.DATA };
final String imageOrderBy = MediaStore.Images.Media._ID + " DESC";
final Cursor imageCursor = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, imageColumns,
null, null, imageOrderBy);
if (imageCursor.moveToFirst()) {
final String fullPath = imageCursor.getString(imageCursor
.getColumnIndex(MediaStore.Images.Media.DATA));
return fullPath;
} else {
throw new RuntimeException();
}
}
Cependant, je continue à recevoir les messages comme celui-ci:
07-02 14:46:54.751: E/BitmapFactory(23119): Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/DCIM/Camera/IMG_20130702_144653.jpg: open failed: ENOENT (No such file or directory)
Si je coche la Galerie, la photo n'est pas là, donc je suppose que le but est d'ignorer la MediaStore.EXTRA_OUTPUT
valeur.
Est-ce que je peux faire, qui ne comportent pas l'écriture de mon propre Appareil photo solution?
ont u mettre cette autorisation dans menifest <uses-permission android:name="android.la permission.WRITE_EXTERNAL_STORAGE" />
Est-il vraiment nécessaire? Je veux dire, si j'utilise une Part de l'intention avec une application sans Internet permission, je peux encore le partager sur Twitter.
Est-il vraiment nécessaire? Je veux dire, si j'utilise une Part de l'intention avec une application sans Internet permission, je peux encore le partager sur Twitter.
OriginalL'auteur Charlie-Blake | 2013-07-02
Vous devez vous connecter pour publier un commentaire.
Utiliser Comme ceci:
Intention:
Pour aller chercher ce résultat:
Ajouter ceci dans votre manifest.xml.
Espère que cela va vous donner une solution.
Pour recevoir le résultat de l'image.
Nvm, n'est-ce pas le voir.
imageReturnedIntent.getData();
retourne null quand même.suivez ce code. parce que c'est de travailler pour moi. Veuillez consulter ce trop stackoverflow.com/a/2737770/1835764 peut-être vous aider.
Vérifiez dans le dispositif. Ne pas vérifier dans l'émulateur.
OriginalL'auteur Nirmal
Nirmals solution fonctionne très bien sur tous les appareils sauf sur Android 4.x (Apilevel 15).
Semble être un bug, mais
imageReturnedIntent.getData()
renvoie toujours null! (testet sur émulateur ET sur l'appareil)La photo prise n'est pas encore enregistré sur externaldir, de sorte que toute tentative pour obtenir le dernier
id
ou plusdate_added
deContentResolver
sera un échec (retourne la dernière photo de la carte, mais pas pris en photo)!Actuellement je n'ai pas de solution pour ce problème...semble être impossible d'obtenir la chemin pour une photo prise sur Apilevel 15 (alors qu'il est encore possible d'obtenir le drawable et enregistrer votre propre)...
OriginalL'auteur user2248357