Я делаю приложение, чтобы взять рис, сохранить и отобразить, но намерение вернуть ноль в вышеприведенной версии и в Android 1.6 работает нормально

Я использую этот код, он работает нормально в 1.6, но он падает в 4.4?

 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                fileUri = new ExternalStorage(getApplicationContext()).getAlbumStorageDir(); // create a file to save the image
                intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name
                // start the image capture Intent
                startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);


    /*in onActivityResult*/
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
            if (resultCode == RESULT_OK) {
                Uri uri = data.getData();
                try {
                    Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
                    ImageView imageView = (ImageView) findViewById(R.id.image);
                    imageView.setImageBitmap(bitmap);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } else if (resultCode == RESULT_CANCELED) {
            } else {
            }
        }

Я прошел несколько постов, но все, что я не нашел правильный.

1 ответ

Там нет никаких требований для ACTION_IMAGE_CAPTURE вернуть Uri с помощью onActivityResult(),

Вы знаете, где изображение должно быть сохранено, поскольку вы предоставляете это через EXTRA_OUTPUT, Используйте значение, которое вы положили в EXTRA_OUTPUT, скорее, чем data.getData(),

Другие вопросы по тегам