Android相机意图与Uri没有保存相机文件夹上的图像

时间:2014-07-14 12:09:13

标签: android android-camera-intent

我正在使用Camera Intent以下代码

    public void clickPicturesThroughCamera() {
    try {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        initImageUri();
        intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
        startActivityForResult(intent, RETURN_FROM_CAMERA);
    } catch (Exception e) {
        showToast(getString(R.string.error_opening_camera));
    }
 }


    public void initImageUri() {
    ContentValues cv = new ContentValues();
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat,
            Locale.ENGLISH);
    String name =simpleDateFormat.format(Calendar.getInstance().getTime())
            + "_" + new Random().nextInt(100) + ".jpg";
    cv.put(MediaStore.Images.Media.TITLE, name);
    imageUri = getContentResolver().insert(
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI, cv);

}

捕获的图像将存储在/storage/sdcard0/DCIM/Camera/imagename.jpg上。但是当我通过默认的相机应用程序点击图像时,它将存储在storage/extSdCard/DCIM/Camera/imagename.jpg上,因为我使用外部SD卡默认存储捕获的图像。

所以我的主要要求是我正在开发的应用程序应该将捕获的图像存储在默认位置,即storage/extSdCard/DCIM/Camera/imagename.jpg而不是/storage/sdcard0/DCIM/Camera/imagename.jpg。为此,我应该在上面的代码中做什么,以便它始终将图像保存在默认的Camera文件夹中。

由于

1 个答案:

答案 0 :(得分:0)

路径可能因设备而异。通过使用MediaStore.Images.Media.EXTERNAL_CONTENT_URI,您要求设备提供正确的路径。

http://developer.android.com/reference/android/provider/MediaStore.Images.Media.html