我正在開發一個應用程序,該應用程序允許用戶從圖庫中選擇圖片,然後開始一個活動以進行裁剪。安卓完成有時重新啓動應用程序
我想將裁剪後的圖像發送回調用活動。
這兩個活動都擴展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與位圖大小或其他任何事情有關嗎?