为什么我无法在最新版本中加载图片?

时间:2018-06-15 07:08:05

标签: android

当从图库中选择图像并为其制作裁剪时,它将被裁剪但我的主要问题是,当我选择谷歌照片时,它无法裁剪并显示Toast消息,例如"无法播放加载图片"。请帮助我在哪里做错了。enter image description here enter image description here

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)
            {
                Log.e("Came", "onActivityResult")
                super.onActivityResult(requestCode, resultCode, data)
                System.out.println("onActivityResulty===>" + data.toString() + "@@@@@" + resultCode + "#######" + requestCode)
                if (requestCode == RESULT_LOAD_GALLERY_IMAGE && null != data) {
                    mImageCaptureUri = data.data
                    try {

                        cropImage(mImageCaptureUri, output_pic, "square")
                    } catch (e: IOException) {
                        e.printStackTrace()
                    } catch (e: OutOfMemoryError) {
                        e.printStackTrace()
                    }



                } else if (requestCode == CAMERA_REQUEST) {
                    try {

                        cropImage(mImageCaptureUri, output_pic, "square")
                    } catch (e: Exception) {
                        e.printStackTrace()
                    } catch (e: OutOfMemoryError) {
                        e.printStackTrace()
                        System.out.println("OnActivity_Catch_Error===>" + e)
                    }

                }else if (requestCode == 1890) {


                    croppingImage()

                }}

https://www.android-examples.com/android-image-cropping-example-tutorial-pick-gallery-camera/

1 个答案:

答案 0 :(得分:1)

这是因为从相机和图库中选择图像不会返回相同的结果,您必须通过查看意图来检查用户选择了哪一个;你可以这样做。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == mRequestCode) {
            if (resultCode == Activity.RESULT_OK) {
                boolean isCamera = true;
                if (data != null && data.getData() != null) {
                    String action = data.getAction();
                    isCamera = MediaStore.ACTION_IMAGE_CAPTURE.equals(action);
                }

                try {
                    Uri uriFileSrc = isCamera ? mOutputFileUri : data.getData();

                    //Do what do you need with the Uri

                } catch (Exception ex) {
                    Toast.makeText(mActivity, R.string.error_creating_file, Toast.LENGTH_SHORT).show();
                }
            } 
        }
}