无法获得从相机点击的图像的实际uri

时间:2019-05-16 05:00:18

标签: android imageview android-bitmap android-camera2

实现Camera2 Api用于点击图片后,我正在此侦听器中获取图片

private ImageReader.OnImageAvailableListener imageAvailableListener = new ImageReader.OnImageAvailableListener() {
        @Override
        public void onImageAvailable(ImageReader reader) {

            Image img                   = reader.acquireLatestImage();
            final Image.Plane[] planes  = img.getPlanes();
            final ByteBuffer buffer     = planes[0].getBuffer();
            byte[] byteArray            = new byte[buffer.remaining()];
            buffer.get(byteArray);
            bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
            uri = getImageUri(getContext(), bmp);
        }
    };

我试图将Image解析为Bitmap,以便使用此方法获取图像uri

private Uri getImageUri(Context context, Bitmap inImage) {
        this.saveToInternalStorage(inImage);
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
        String path = MediaStore.Images.Media.insertImage(context.getContentResolver(), inImage, "CAPTURE" + captureCount, null);
        return Uri.parse(path);
    }

但是当我尝试使用它从ImageView中显示图像时,通过上述方法获得的图像uri并没有显示任何东西,但是我可以在图库中看到单击的图像。

我获得的图像uri像external/**/<some number>

  

我想做的是要获取点击图片的uri并使用   该uri对其进行编辑。

如果还有其他方法可以编辑图像,例如使用位图或其他形式。

0 个答案:

没有答案