Android - Как реализовать Login-Dialog для фоновой темы? - PullRequest
0 голосов
/ 24 января 2012

Я работаю с Android 2.1, RoboGuice 1.1 и Guice 2.0 (без aop).
Мое приложение имеет фоновый поток, который запускается в методе onCreate Activity, который подключается к серверу и может потребовать от пользователя предоставления учетных данных для входа в систему.

Сначала я нашел PopupWindow в API, но я прочитал в этом посте , что его не следует использовать для этого.

Поэтому я попытался внедрить свой Activity в фоновый поток и открыть Dialog в Runnable, переданном в Activity.runOnUIThread (Runnable r) , но, к сожалению, roboguice создает новый экземпляр моей деятельности при внедрении его в мой фоновый поток.

Теперь я предполагаю, что правильным способом реализации Login-Dialog было бы отправить Intent моей активности и позволить ему показать Dialog. Кроме того, я предполагаю, что Activity необходимо отправить Intent (содержащий учетные данные) обратно в фоновый поток.
Это правильно или есть более элегантный способ сделать это?

В этом посте Я нашел, как зарегистрировать получателя для Intent. Но на каком Activity экземпляре я должен вызывать registerReceiver в фоновом потоке?

С наилучшими пожеланиями

1 Ответ

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

Я бы предложил создать внутренний класс в деятельности, который использует RoboAsyncTask и в основном имеет доступ к операции.Это хорошо работает для меня.Если вам нужно войти в систему из разных действий, вы делаете его классом верхнего уровня и передаете фрагмент или экземпляр действия в конструктор асинхронных задач и обновляете пользовательский интерфейс в onSuccess.

...