Как замедлить выполнение фона в асинхронном режиме при отключении интернет-соединения - PullRequest
0 голосов
/ 27 июля 2011

Я использую asynctask для выполнения GET-запроса к серверу, и я хочу сделать, когда интернет-соединение отключено (без подключения к Интернету), я хочу, чтобы AsynTask sleep abit затем снова начал отправлять запрос в той же asynctask. Как я могусделать это

THx

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Логичной вещью будет прослушивание широковещательных сообщений об изменении подключения и отмена задачи, когда соединение недоступно, и перезапуск, когда соединение снова станет доступным. Вы можете проверить этот Q , чтобы подготовить BroadcastReceiver.

1 голос
/ 27 июля 2011

Документация гласит:

**Threading rules**

Для правильной работы этого класса необходимо соблюдать несколько правил работы с потоками:

Необходимо создать экземпляр задачив потоке пользовательского интерфейса.

execute (Params ...) должен быть вызван в потоке пользовательского интерфейса.

Не вызывать onPreExecute (), onPostExecute (Result), doInBackground (Params ...), onProgressUpdate (Progress ...) вручную.

The task can be executed only once (an exception will be thrown if a second execution is attempted.)

Попробуйте использовать Handler, выполните выборку HTTP в Thread (вы можете перевести нить в спящий режим на некоторое время, используя Thread.sleep(time);когда вы думаете, что готовы продолжить, вызовите .sendMessage(message); и выполните обновления пользовательского интерфейса из обработчика (методы handleMessage() или runOnUiThread()), если это необходимо.

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