TakePhoto_android7.0 icon indicating copy to clipboard operation
TakePhoto_android7.0 copied to clipboard

修复Bug,部分机型选择相册图片截图后,新产生的图片,再次选择,选不到问题。

Open longkiGit opened this issue 1 year ago • 0 comments

LQRPhotoSelectUtils.java 229行,attachToActivityForResult 方法里面增加 public void attachToActivityForResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { switch (requestCode) { case LQRPhotoSelectUtils.REQ_TAKE_PHOTO://拍照 mInputFile = new File(imgPath); if (mShouldCrop) {//裁剪 mOutputFile = new File(generateImgePath()); mOutputUri = Uri.fromFile(mOutputFile); zoomPhoto(mInputFile, mOutputFile); } else {//不裁剪 mOutputUri = Uri.fromFile(mInputFile); if (mListener != null) { mListener.onFinish(mInputFile, mOutputUri); } } break; case LQRPhotoSelectUtils.REQ_SELECT_PHOTO://图库 if (data != null) { Uri sourceUri = data.getData(); String[] proj = {MediaStore.Images.Media.DATA}; Cursor cursor = mActivity.managedQuery(sourceUri, proj, null, null, null); int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); String imgPath = cursor.getString(columnIndex); mInputFile = new File(imgPath);

                    if (mShouldCrop) {//裁剪
                        mOutputFile = new File(generateImgePath());
                        mOutputUri = Uri.fromFile(mOutputFile);
                        zoomPhoto(mInputFile, mOutputFile);
                    } else {//不裁剪
                        mOutputUri = Uri.fromFile(mInputFile);
                        if (mListener != null) {
                            mListener.onFinish(mInputFile, mOutputUri);
                        }
                    }
                }
                break;
            case LQRPhotoSelectUtils.REQ_ZOOM_PHOTO://裁剪
                if (data != null) {
                    if (mOutputUri != null) {
                        //删除拍照的临时照片
                        File tmpFile = new File(imgPath);
                        if (tmpFile.exists())
                            tmpFile.delete();
                        if (mListener != null) {
                            mListener.onFinish(mOutputFile, mOutputUri);
                        }
                    }
                }
                break;
            case LQRPhotoSelectUtils.REQ_SELECT_FILE:

                break;
        }
    }else if(resultCode == Activity.RESULT_CANCELED){
        //此处解决部分手机选不到图片问题
        try {
            if(mInputFile != null){
                //不裁剪
                mOutputUri = Uri.fromFile(mInputFile);
                if (mListener != null) {
                    mListener.onFinish(mInputFile, mOutputUri);
                }
            }
        }catch (Exception e){}
    }
}

longkiGit avatar Jun 09 '23 01:06 longkiGit