Android相机意图与Uri不保存图像在相机文件夹



我使用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上,因为我默认使用外部存储卡存储捕获的图像。

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

谢谢

设备之间的路径不同。通过使用MediaStore.Images.Media。EXTERNAL_CONTENT_URI你正在向设备询问正确的路径

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

最新更新