Activity kill/onCreate вызывается после фотографирования с помощью намерения

Я пытаюсь сделать снимок, используя интент. Моя проблема в том, что иногда после съемки моя активность, которая вызывает 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");
    }
}

Итак, все, что я пытаюсь сделать, это сделать снимок и заменить им изображение изображения. Но в некоторых случаях onCreate вызывается после вызова onActivityResult, и новое изображение теряется.

Помощь приветствуется.

32
задан Cattivo 2 May 2012 в 09:27
поделиться