Ucrop onActivityMethod不起作用

时间:2017-01-05 03:38:06

标签: android onactivityresult ucrop

我在ucrop库中使用了以下代码,并显示了裁剪窗口。

 Uri destinationUri = Uri.fromFile(new File(myContext.getCacheDir(), "IMG_" + System.currentTimeMillis()));
            UCrop.of(sourceUri, destinationUri)
                     .withMaxResultSize(maxWidth, maxHeight)
                    .start(myContext);

但是,控制不在onActivityResult方法内部。如果/ Else都不起作用。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK && requestCode == UCrop.REQUEST_CROP) {
        final Uri resultUri = UCrop.getOutput(data);
    } else if (resultCode == UCrop.RESULT_ERROR) {
        final Throwable cropError = UCrop.getError(data);
    }
}

任何想法都错了,我错过了什么吗?

3 个答案:

答案 0 :(得分:1)

将调用代码更改为以下内容。

    Uri destinationUri = Uri.fromFile(new File(myContext.getCacheDir(), "IMG_" + System.currentTimeMillis()));
    startActivityForResult(UCrop.of(sourceUri, destinationUri)
             .withMaxResultSize(maxWidth, maxHeight)
            .getIntent(getContext()),UCrop.REQUEST_CROP);

答案 1 :(得分:1)

TO_DECIMAL (<value> [, <precision>, <scale>])

答案 2 :(得分:0)

我必须通过 contextfragment 所以这就是我在 kotlin 中所做的

UCrop.of(sourceFile.toUri(), destinationFile.toUri())
   .withAspectRatio(1.toFloat(), 1.toFloat())
   .start(requireContext(), this)