Я бы сказал, что у вас есть два варианта:
Либо вы заставляете свою деятельность не иметь возможности менять ориентацию:
<activity android:name="MainActivity" android:configChanges="keyboardHidden|orientation">
в манифесте ( документация ), котораяскажет системе, что вы хотите обрабатывать изменения ориентации самостоятельно, и в этом случае вы ничего не будете делать.Но вы бы предпочли добавить некоторый код в onPause()
и onSaveInstanceState()
, потому что это действие может быть прервано Android, например, при получении телефонного звонка.Таким образом, вы должны справиться с некоторыми сбережениями.
Или вы выбираете, чтобы запретить отображение диалогового окна, когда оно уже было отображено или когда запущен фоновый поток.Это легко, если вы используете AsyncTask для своей части загрузки, потому что вы можете использовать AsyncTask.getStatus , который вернет вам статус задачи .Если он уже находится в завершенном состоянии, вы должны отменить диалог.