Я пытаюсь открыть камеру из своего приложения и получить растровое изображение. Но это не работает. Я получил эту ошибку: 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();
}
}
Мне нужно растровое изображение, чтобы сохранить изображение после этого. Это довольно странно, потому что изображение хорошо сохраняется в галерее, но я не могу его получить ...