在 CropActivity 中裁剪图像后无法继续

Unable to continue after cropping a image in CropActivity

我正在使用 ArthurHub 的库裁剪图像并将其放入 ImageButton 或 ImageView。 裁剪 Activity 开始顺利,但在我单击裁剪按钮时裁剪后,我的应用程序重新运行并打开 MainActivity。 在我看来,代码没有错误,而且我已经检查了5-6次。

谢谢!!!

这是我的代码...

public class AddActivity extends AppCompatActivity {
private ImageButton add_image_button;

private Uri imageUri;
private String imageUrl;

private String recordPermission = Manifest.permission.RECORD_AUDIO;
private String readExternalStorage = Manifest.permission.READ_EXTERNAL_STORAGE;
private String recordFile;
private int PERMISSION_CODE = 7;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add);

    add_image_button = findViewById(R.id.add_image_button);
    
    CropImage.activity(imageUri).start(AddActivity.this);

    add_image_button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            checkReadExternalStoragePermissions();
            CropImage.activity(imageUri).start(AddActivity.this);
        }
    });

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK) {
        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        imageUri = result.getUri();

        add_audio_button.setImageURI(imageUri);
    }else {
        Toast.makeText(this, "Try again...", Toast.LENGTH_SHORT).show();
        startActivity(new Intent(AddActivity.this, MainActivity.class));
        finish();
    }

}

private boolean checkRecordPermissions() {
    if (ActivityCompat.checkSelfPermission(this, recordPermission) == PackageManager.PERMISSION_GRANTED) {
        return true;
    } else {
        ActivityCompat.requestPermissions(this, new String[]{recordPermission}, PERMISSION_CODE);
        return false;
    }

}
private boolean checkReadExternalStoragePermissions() {
    if (ActivityCompat.checkSelfPermission(this, readExternalStorage) == PackageManager.PERMISSION_GRANTED) {
        return true;
    } else {
        ActivityCompat.requestPermissions(this, new String[]{readExternalStorage}, PERMISSION_CODE);
        return false;
    }

}

}

我发现错误了,代码中有一点错误。

我在这里使用 add_audio_button.setImageUri(imageUri) 而不是 add_image_button.setImageUri(imageUri);

if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK) {
    CropImage.ActivityResult result = CropImage.getActivityResult(data);
    imageUri = result.getUri();
    add_audio_button.setImageURI(imageUri);
implementation 'com.github.Drjacky:ImagePicker:1.8.4'

使用这个库,它是最适合 imagePicker 的库之一 它将提供类似的功能 1)作物 2)放大 3)旋转