Uri在onActivityResult中返回null

时间:2017-05-23 09:47:40

标签: android uri

我正在做一个需要将图像转换为pdf的模块。我已成功实施相机并可以显示其图像。但我的问题是获得该图像的uri。我在StackOverflow中看到了一个代码片段,然后跟着它,但它返回null。

这是我的示例代码:

            @Override
        public void onClick(View v) {
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, CAMERA_REQUEST);
        }
    });
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        imageView.setImageBitmap(photo);
        uri = data.getData();

        if(uri == null)
        {
            tvUri.setText("null");
        }else{
            tvUri.setText(uri.toString());
        }

    }
}

测试它是否为null,我继续将textview设置为其值(如果有),但如果没有,则将其设置为null。

2 个答案:

答案 0 :(得分:0)

试试这个

uri = data.getExtras().get("data");

而不是

uri = data.getData();

答案 1 :(得分:-1)

protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
    Uri u = intent.getData();
}