Активность 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 был вызван, и новое изображение потеряно.

Помощь очень ценится.

Фактически камера вызывает изменение ориентации в вашей деятельности, поэтому ваша деятельность уничтожается и воссоздается.

Добавьте это в файл манифеста, чтобы предотвратить изменение ориентации, и ваша деятельность не будет уничтожена и воссоздана.

   Размер   

Исправьте ориентацию своей деятельности / приложения, потому что, когда вы выполняете операцию back / finish (), и в то же время вы меняете ориентацию, тогда обновление активности и повторный запуск снова автоматически.

Похоже, что есть телефоны, которые уничтожают активность при импорте изображения, например, Galaxy S3. Упоминается, что если мое приложение находится в портретном режиме, это произойдет, потому что изображения находятся в ландшафтном режиме. Таким образом, все предложения, связанные с configChanges в файле манифеста, не применимы к этой ситуации.

То, что я закончил делать, вместо того, чтобы бороться с onDestroy активности (что вызвало onActivityResult () fragmentа, который не должен быть вызван после того, как onCreate ()) должен был реализовать onActivityResult () также в самом действии, и там я мог получить путь изображения. Затем я передал этот путь к fragmentу, когда он создается, для дальнейшей обработки. Конечно, я должен был сказать свое приложение, как только оно будет воссоздано, что ему нужно вернуться к вызывающему fragmnet для обработки этого изображения

  • Предварительный просмотр камеры для Android
  • Android-камера: намерение данных возвращает null
  • Android MediaRecorder - «start failed: -19»
  • Управление камерой для съемки в портрете не приводит к повороту окончательных изображений
  • Значение тега ориентации EXIF ​​всегда 0 для изображения, сделанного с помощью приложения для портретов с вертикальной камерой
  • Давайте будем гением компьютера.