要在Uri.parse中传递以使用intent打开图像的Image的路径

时间:2016-06-18 06:16:15

标签: android android-intent

我试图使用意图打开图像。 我的存储中的图像路径是 /storage/emulated/0/nitp/download/logo.png

我的代码是

Intent intent = new Intent();
intent.setAction(Intent.ACTION_DEFAULT);
intent.setDataandType(Uri.parse("/storage/emulated/0/nitp/download/logo.png"),"image/*");
startActivity(intent);

我也尝试过 file://storage/emulated/0/nitp/download/logo.png content://storage/emulated/0/nitp/download/logo.png

我应该使用的路径是什么?

解决 必须使用 file:///storage/emulated/0/nitp/downloads/logo.png

1 个答案:

答案 0 :(得分:0)

从媒体存储或SD卡中选择图像:

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);

并获取Image的路径并在ImageView中设置:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
        Uri filePath = data.getData();
        try {
            //Getting the Bitmap from Gallery
            imgpath= MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
            //Setting the Bitmap to ImageView
            imageViewProfileImage.setImageBitmap(imgpath);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

希望这项工作。