如何在android studio中使用Ucrop库打开图库意图?

时间:2018-03-08 12:22:48

标签: java android android-studio

我正在使用此处提供的库https://github.com/Yalantis/uCrop

我想在使用裁剪选项工具单击按钮时直接打开图库意图,但我该怎么办?

目前,我正在做这个

public void onclickbutton (View view) {
        Intent intent = new Intent(Intent.ACTION_PICK);
        intent.setType("image/*");
        if (checkPermissionREAD_EXTERNAL_STORAGE(this)) {
            startActivityForResult(intent, GALLERY_INTENT);
        }
}

在Onactivity结果

if (requestcode == GALLERY_INTENT && resultcode == RESULT_OK) 
        {
        uri = data.getData();
        UCrop.of(uri, uri)
                .withAspectRatio(16, 9)
                .withMaxResultSize(500, 500)
                .start(this);
    }

再次在onactivity结果

 if (resultcode == RESULT_OK && requestcode == UCrop.REQUEST_CROP) {
            final Uri resultUri = UCrop.getOutput(data);
            Toast.makeText(this, resultUri.toString(), Toast.LENGTH_SHORT).show();
        } else if (resultcode == UCrop.RESULT_ERROR) {
            final Throwable cropError = UCrop.getError(data);
        }

请在我出错的地方帮助我..

1 个答案:

答案 0 :(得分:0)

您需要更改您的Onactivity结果 你传递的是同一个uri,你必须通过源uri和目的地uri。如下所示

  UCrop.of(sourceUri, destinationUri)
       .withAspectRatio(16, 9) 
       .withMaxResultSize(maxWidth, maxHeight)
       .start(context);