Приложение для Android, предназначенное для портретного режима, отображается в альбомной ориентации при возобновлении работы

Я разработал приложение для Android, которое будет отображаться только в портретном режиме (android:screenOrientation="sensorPortrait"). Он работает нормально, за исключением одного случая:

  1. держите планшет в портретном режиме и запустите приложение
  2. введите некоторые данные
  3. выключить планшет
  4. поверните планшет в ландшафтный режим
  5. включить планшет

==> первый «кадр» моего приложения отображается в ландшафтном режиме, а затем он поворачивается в портретный режим, что означает, что вызывается onDestroy(), и поэтому мои введенные данные теряются.

Планшет таб S2 8", с Android 7.0

Почему мое приложение сначала отображается в ландшафтном режиме? Есть ли способ избежать такого поведения (я бы хотел избежать управления onSaveInstanceState()/onRestoreInstanceState() только из-за этого случая)?

Есть много других изменений конфигурации помимо ориентации. Пожалуйста, используйте ViewModel, onSaveInstanceState() или другие способы сохранения ваших данных при изменении конфигурации.

CommonsWare 06.04.2019 22:54

Даже если этот комментарий не отвечает прямо на мой вопрос, на самом деле это правильный ответ. Я новичок в разработке Android и не знал о ViewModel. Пришлось внедрить, теперь работает нормально. Спасибо

Laurent D. 21.04.2019 07:53
0
2
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Решение заключалось в реализации ViewModel.

Другие вопросы по теме