如何使用URI设置ImageView图像?

时间:2016-11-26 06:04:56

标签: java android

我在我的应用中使用相机。当我拍照时,照片正确保存在模拟器的SD卡上(我使用Android设备管理器进行了检查)。这是我用来保存照片的代码:

private class AddPhotoButtonListener implements View.OnClickListener
{
    public void onClick(View v)
    {
        String fileName = "/sdcard/note_photo_" + System.currentTimeMillis() + ".jpg";
        Uri uriSavedImage = Uri.fromFile(new File(fileName));

        Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        camera.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);

        note.photo = fileName;

        startActivityForResult(camera, REQUEST_CODE_TAKE_PICTURE);
    }
}

这没有任何错误。该文件保存在:storage / emulated / 0 /

我正在按照以下方式处理相机的结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    if (requestCode == REQUEST_CODE_TAKE_PICTURE && resultCode == Activity.RESULT_OK)
    {
        Uri imgUri = Uri.parse(note.photo);
        ivPreview.setImageURI(null);
        ivPreview.setImageURI(imgUri);
        ivPreview.getLayoutParams().width = 120;
    }
}

但是,这会产生以下错误:E / BitmapFactory:无法解码流:java.io.FileNotFoundException:/sdcard/note_photo_1480094620584.jpg:open failed:EACCES(Permission denied)

我的应用清单权限设置如下:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:name="android.hardware.camera"></uses-feature>

有谁知道问题可能是什么?

0 个答案:

没有答案