У меня есть приложение, которое зависит от соединения. В нем есть много операций. Мне нужно отображать диалоговое окно прогресса повторного подключения всякий раз, когда соединение прерывается, и сохранять его до тех пор, пока соединение не будет восстановлено или пользователь не прекратит работу независимо от выполняемой операции. Я сделал этот метод, который перехватывает событие сбоя соединения В BaseActivity, который является родителем всех моих действий:
public void xmppConnectionClosed() {
connectionError = true;
onScreenActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
initiateReconnectionDialog(onScreenActivity); //onScreenActivity is singlton represent the current activity
reconnectionDialog.setMessage(onScreenActivity
.getString(R.string.reconnectionDialogReconnecting));
reconnectionDialog
.setStatus(ReconnectionStatus.RECONNECTING);
// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
reconnectionDialog.show();
}
});
}
Его создание
protected void onCreate(android.os.Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (connectionError) {
initiateReconnectionDialog(this);
reconnectionDialog.show();
}
}
Проблема теперь в том, что если у меня есть действие A, запускающее действие B, когда я поворачиваю устройство, вызывается onCreate действия A, и если я пытался показать диалоговое окно, оно выдает исключение, что это не действие переднего плана.
Любые идеи, как справиться с этой ситуацией?