Активность уничтожается, а затем воссоздается до получения onActivityResult

1

Моя активность имеет объект Handler и регистрирует ContentObserver с этим обработчиком. Затем я запускаю внешнюю активность, которая иногда может изменять контент (я использую наблюдателя контента, чтобы поймать это изменение). Затем активность возвращает результат, а затем я проверяю своего observer, если контент был изменен с тех пор, как я начал эту активность для результата. Проблема в том, что когда-то, прямо перед onActivityResult, моя активность становится onDestroy - onCreate, и в результате все, что я catched у наблюдателя, теряется.

эта активность имеет следующие свойства в AndroidManifest:

android:clearTaskOnLaunch="true"
android:launchMode="singleTop"

Кто-нибудь сталкивался с этой проблемой? Почему активность может быть уничтожена до получения результата? Есть ли безопасное место для размещения моего наблюдателя и обработчика (если активность не безопасна)?

  • 1
    Хм, ты вращаешь телефон в другой деятельности? Изменения в ориентации разрушают / воссоздают активность.
  • 0
    Да, проблема связана с ориентацией. Спасибо!
Теги:
android-activity

1 ответ

0

Попробуйте изменить стартовый режим. Когда я использовал внешние действия для получения результатов и установил результат, результат был всегда отменен, когда я использовал singleTop в качестве режима запуска. Изменение его на стандарт IE работало как шарм. Возможно, стоит попробовать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню