如何从调用另一个 onActivityresult 的 onActivityResult 获取原始请求代码?

问题描述

override fun onActivityResult(requestCode: Int,resultCode: Int,data: Intent?) {
        super.onActivityResult(requestCode,resultCode,data)
        if (resultCode == RESULT_OK) {
            data?.data?.let { cropImage(it) }
            if (requestCode==CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
                try {
                    val resultdata = CropImage.getActivityResult(data)
                    ...
                    if (requestCode == IMAGE1) {
                       ...
                    } else if (requestCode == IMAGE2) {
                        ...
                    }
                }
            ...
        }
    }

CropImage 方法返回另一个 requestCode 并覆盖它,因此我无法使用使用 IMAGE1、IMAGE2 的函数。 如何使用 request==IMAGE1,2 函数

解决方法

我想您使用的是 CropImage 库。 你也可以像下面一样使用它。

Intent intent = CropImage.activity(uri)
                         .setGuidelines(CropImageView.Guidelines.ON)             
                         .setCropShape(CropImageView.CropShape.RECTANGLE)             
                         .setMultiTouchEnabled(true)
                         .getIntent(getActivity());

startActivityForResult(intent,IMAGE1);