Kamera ist nicht speichern, nachdem die Aufnahme von Bild

Ich kann eine Taste drücken, öffnen Sie die native Kamera-app, und erfolgreich ein Bild machen. Aber wenn ich dann schauen Sie sich die Galerie oder Fotos native apps auf meinem Handy, das Bild ist nicht dort gespeichert. Ich bin sehr neu in Android, so ist es wahrscheinlich, ich bin fehlt etwas wichtiges in meinem code.

Fragen:

1) Wo sind diese Bilder gespeichert?

2) Kann ich ändern Sie den code unten irgendwie zu speichern, statt in den internen Speicher, so dass alle Bilder aufgenommen mit meiner app sind privat und nur zugänglich durch meine app?

3.) Wenn ich speichern wollte diese Bilder zu einem Objekt, zusammen mit einigen text/anderen input, was wäre der beste Weg? Sollte ich einfach sparen Uri oder um eine id für die Referenz Bild später, oder speichern Sie die aktuelle BitMap Bild?

Jede Hilfe wird sehr geschätzt, Dank!

Hier ist mein code, um das Bild aufzunehmen:

mImageButton.setOnClickListener(new View.OnClickListener()
{
    public void onClick(View v)
    {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        imageUri = CameraUtils.getOutputMediaFileUri(CameraUtils.MEDIA_TYPE_IMAGE);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
        startActivityForResult(intent, REQUEST_IMAGE);
    }
}

CameraUtils Klasse gerade von Google developer guides:

public static Uri getOutputMediaFileUri(int type)
{
    return Uri.fromFile(getOutputMediaFile(type));
}

public static File getOutputMediaFile(int type)
{
    File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES), "camera");

    if (!mediaStorageDir.exists())
    {
        if (!mediaStorageDir.mkdirs())
        {
            return null;
        }
    }

    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    File mediaFile;
    if (type == MEDIA_TYPE_IMAGE)
    {
        mediaFile = new File(mediaStorageDir.getPath() + File.separator +
                "IMG_" + timeStamp + ".jpg");
    }
    else if(type == MEDIA_TYPE_VIDEO)
    {
        mediaFile = new File(mediaStorageDir.getPath() + File.separator +
                "VID_" + timeStamp + ".mp4");
    }
    else
    {
        return null;
    }

    return mediaFile;
}

InformationsquelleAutor pez | 2014-10-06

Schreibe einen Kommentar