Предотвращение разрушения активности

Я посылаю намерение камеры из действия, которое я называю следующим образом:

Intent testphoto = new Intent(Dashboard.this,CameraHandler.class); startActivity(testphoto); 

В классе CameraHandler я вызываю камеру:

 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 0); 

Но до того, как onActivityResult вызывается в классе onActivityResult активность уничтожается. Есть ли способ предотвратить это?

НАЙДЕН ОТВЕТ: У меня в моем андроидном манифесте nohistory = true, и это заставило ОС уничтожить активность до результата.

Убедитесь, что у вас нет настройки разработчика «Не поддерживайте действия», так как это приведет к уничтожению активности, которую вы уходите.

Вам не нужно беспокоиться о том, что вызывающая Activity будет уничтожена, когда вы вызываете startActivityForResult() , поскольку она вообще не изменяет ожидаемое поведение (т.е. startActivityForResult() активность не забудьте передать результат обратно родительскому объекту, является ли родитель Уничтожены или нет). См. Этот пост .

Также обратите внимание, что, хотя иногда необходимо запретить уничтожение Activity s (т. Е. При изменениях конфигурации и т. Д.), Вы вообще хотите оставить жизненный цикл Activity и позволить системе управлять фоновой Activity s для вас. После запуска нового Activity вы не должны явно препятствовать уничтожению предыдущей Activity s.

Вы должны упомянуть в своем манифесте как

  android:persistent="true" 

Ниже сообщений SO отвечает тот же вопрос

Как сделать остановку активности, а не уничтожаться, с помощью клавиши BACK?

Как предотвратить вызов onDestroy () после onPause ()?

Предотвратите уничтожение активности как можно дольше