インテントを使用して写真を撮ろうとしています。私の問題は、写真を撮った後、startActivityForResult を呼び出すアクティビティが破棄されたように見えることがあるため、onCreate が再度呼び出されることです。
イメージビューをクリックした後に写真を撮るための私のコードは次のとおりです。どのイメージを置き換える必要がありますか。
if (!getPackageManager().hasSystemFeature(
PackageManager.FEATURE_CAMERA)) {
Util.makeLongToast(R.string.lang_no_camera);
} else {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_ITEM_PHOTO);
}
...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.v(TAG, "onactivityresult called");
if (requestCode == TAKE_ITEM_PHOTO) {
if (data != null) {
imageUri = data.getData();
try {
img_photo.setImageBitmap(Media.getBitmap(
getContentResolver(), imageUri));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else
Log.w(TAG, "data is null");
}
}
だから私がしようとしているのは、写真を撮ってイメージビューの画像を置き換えることだけです。ただし、場合によっては、onActivityResult が呼び出された後に onCreate が呼び出され、新しいイメージが失われます。
助けていただければ幸いです。