Как получить исходный код запроса из onActivityResult, который сам по себе вызывает другой onActivityResult?

#android #kotlin #startactivityforresult

#Android #котлин #startactivityforresult

Вопрос:

 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 возвращает другой код запроса и переопределяет его, поэтому я не могу использовать функцию use IMAGE1, IMAGE2.
Как я могу использовать функцию request==IMAGE1,2?

Комментарии:

1. не могли бы вы опубликовать код вызова activity?

2. startActivityForResult(chooserIntent, IMAGE1) and startActivityForResult(chooserIntent, IMAGE2)

3. CropImage.activity(uri).setGuidelines(CropImageView.Guidelines.ON) .setCropShape(CropImageView.CropShape.RECTANGLE) .setMultiTouchEnabled(true) .start(this)

Ответ №1:

Я полагаю, вы используете библиотеку cropImage. Вы также можете использовать его следующим образом.

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

startActivityForResult(intent, IMAGE1);
 

Комментарии:

1. Я так не думал. Вы спасли мой день. Спасибо вам!