我正在开发一个应用程序,该应用程序允许用户从图库中选择图片,然后开始一个活动以进行裁剪。安卓完成有时重新启动应用程序
我想将裁剪后的图像发送回调用活动。
这两个活动都扩展AppCompatActivity。
调用活动:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
// start image crop activity
String dataString = data.getDataString();
Intent intent=new Intent(this, CropPhotoActivity.class);
intent.putExtra("SELECTED_PICTURE_FOR_CROP", dataString);
startActivityForResult(intent, CROP_PICTURE);
}
else if(requestCode == CROP_PICTURE) {
// get cropped bitmap
Bitmap bitmap = (Bitmap) data.getParcelableExtra("CROPPED_IMAGE");
profilePhoto.setImageBitmap(bitmap);
}
}
}
在裁剪图像的活动,我有一个按钮,在点击要返回到调用活动:
Button okButton = (Button)findViewById(R.id.ok_button);
okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent returnIntent = new Intent();
returnIntent.putExtra("CROPPED_IMAGE", cropped_bitmap);
setResult(RESULT_OK, returnIntent);
finish(); // sometimes restarts app
}
});
有时位图被正确返回,而有时它不会和应用程序重新启动没有错误。这是为什么发生? putExtra与位图大小或其他任何事情有关吗?