So erhalten Sie den Pfad eines aufgenommenen Bildes in Android
Ich arbeite an einer Android-Anwendung. Es verfügt über eine Funktion, die das erfasste Bild auf dem Bildschirm anzeigen soll, und ich muss diesen Bildpfad abrufen, damit ich das Bild an den Server senden kann.
Ich kann ein Bild auf dem Bildschirm anzeigen, aber keinen absoluten Bildpfad ermitteln.
Ich erhalte Pfad wie:
content://media/external/images/media/1220
content://media/external/images/media/1221
Wie kann ich den tatsächlichen Bildpfad ermitteln?
Hier ist mein Code:
mintent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
mintent.putExtra(MediaStore.EXTRA_OUTPUT,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
startActivityForResult(mintent, 1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if ((data != null && !data.toString().equalsIgnoreCase("Intent { }"))
|| requestCode == 1)
switch (requestCode) {
case 1:
try {
// Uri imageFileUri = data.getData();
// String path=getRealPathFromURI(this,imageFileUri);
// Bitmap bitmap = (Bitmap) data.getExtras().get("data");
String photoPath = null;
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
Intent intent = new Intent(this, Media.class);
intent.putExtra("BitmapImage", bitmap);
Bundle b = mintent.getExtras();
if (b != null && b.containsKey(MediaStore.EXTRA_OUTPUT)) { // large
// image?
String timeStamp = new SimpleDateFormat(
"yyyyMMdd_HHmmss").format(new Date());
// Shouldn't have to do this ... but
photoPath = MediaStore.Images.Media.insertImage(
getContentResolver(), bitmap, "Img" + timeStamp
+ ".jpeg", null);
}
}
}
}
photoPath
Wert ist oben gezeigt.
Wie kann ich meinen absoluten Bildpfad von diesem Pfad abrufen?