【发布时间】:2020-06-30 19:58:04
【问题描述】:
我正在尝试从我的应用程序中打开相机并获取位图。但这不起作用。我收到了这个错误: E/BitmapFactory:无法解码流:java.io.FileNotFoundException:内容:/media/external/images/media/9969:打开失败:ENOENT(没有这样的文件或目录)
代码如下:
private void openCamera()
{
ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.Images.Media.TITLE, "New Picture");
contentValues.put(MediaStore.Images.Media.DESCRIPTION, "From the camera");
image_uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
//Camera intent
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, image_uri);
startActivityForResult(cameraIntent, IMAGE_CAPTURE_CODE);
}
当我调用 openCamera() 时,这是活动结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
switch (resultCode)
{
case RESULT_OK :
{
//imageView.setImageURI(image_uri); this works
Bitmap bitmap = null;
String photoPath = image_uri.toString();
bitmap = BitmapFactory.decodeFile(photoPath);
imageView.setImageBitmap(bitmap); //this doesnt work ! --> the bitmap is empty
}
//finish
case RESULT_CANCELED :
{
// finish();
}
default: {
//finish();
}
}
之后我需要位图来存储图像。 这很奇怪,因为图像很好地保存到了画廊中,但我无法得到它......
【问题讨论】:
标签: android android-intent bitmap camera uri