Sagen Sie der Kamera, Absicht, speichern Sie das Bild genommen
Ich bin dabei:
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);
und zu Griff bekommen, dass Foto, dass ich dies tun:
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();
}
}
Aber ich erhalte immer Meldungen wie diese:
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)
Wenn ich schauen Sie sich die Galerie, das Foto ist nicht da, also meine Vermutung ist, dass die Absicht ignoriert die MediaStore.EXTRA_OUTPUT
Wert.
Kann ich irgendetwas tun, dass nicht mit dem schreiben meiner eigenen Kamera-Lösung?
u setzen Sie diese Berechtigung in menifest <uses-permission android:name="android.die Genehmigung.WRITE_EXTERNAL_STORAGE" />
Ist es wirklich notwendig? Ich meine, wenn ich eine Aktie Absicht mit einer app ohne Internet-Berechtigung, ich kann immer noch teilen Sie Sie auf Twitter.
Ist es wirklich notwendig? Ich meine, wenn ich eine Aktie Absicht mit einer app ohne Internet-Berechtigung, ich kann immer noch teilen Sie Sie auf Twitter.
InformationsquelleAutor Charlie-Blake | 2013-07-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden, Wie diese:
Vorsatz:
Zu Holen, Ergebnis:
Fügen Sie diese in Ihre manifest.xml.
Hoffe, dies wird Ihnen eine Lösung.
Um das Ergebnis zu erhalten das Bild.
Nvm, habe es nicht gesehen.
imageReturnedIntent.getData();
gibt null zurück, sowieso.Folgen Sie diesen code. weil es für mich funktioniert. Bitte auch diese stackoverflow.com/a/2737770/1835764 könnte dir helfen.
Der Check-in-Gerät. Überprüfen Sie nicht im emulator.
InformationsquelleAutor Nirmal
Nirmals Lösung funktioniert auf allen Geräten außer auf Android 4.x (Apilevel 15).
Scheint ein Fehler zu sein, aber
imageReturnedIntent.getData()
immer null zurück! (getestet auf dem emulator UND auf dem Gerät)Die aufgenommene Foto wird auch nicht gespeichert externaldir, so dass jeder Versuch, die neuesten
id
oder den größtendate_added
ausContentResolver
fehl (liefert die neuesten Foto von der Karte, aber nicht die genommen Foto)!Derzeit habe ich keine Lösung für dieses problem...scheint unmöglich zu sein, um die Pfad für ein Bild genommen auf Apilevel 15 (während es immer noch möglich, den drawable und sparen Sie durch Ihr eigenes)...
InformationsquelleAutor user2248357