ведение диалога над деятельностью - PullRequest
1 голос
/ 11 января 2012

У меня есть приложение, которое зависит от соединения. В нем есть много операций. Мне нужно отображать диалоговое окно прогресса повторного подключения всякий раз, когда соединение прерывается, и сохранять его до тех пор, пока соединение не будет восстановлено или пользователь не прекратит работу независимо от выполняемой операции. Я сделал этот метод, который перехватывает событие сбоя соединения В 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, и если я пытался показать диалоговое окно, оно выдает исключение, что это не действие переднего плана. Любые идеи, как справиться с этой ситуацией?

Ответы [ 2 ]

1 голос
/ 11 января 2012

Это звучит как диалог, который должен вызываться из фоновой службы. Это должно быть так, потому что вам все равно, работает ли действие. Операция должна запустить службу и работать в фоновом режиме.

0 голосов
/ 11 января 2012

Вы можете закрыть диалоговое окно в onRetainNonConfigurationInstance. После этого вы сможете воссоздать диалоговое окно в вашей деятельности при создании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...