AQuery в IntentService

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
dmitry_stas
Сообщения: 15
Зарегистрирован: 03 сен 2014, 21:12

AQuery в IntentService

Сообщение dmitry_stas » 18 ноя 2015, 13:09

Добрый день.

Есть IntentService, в onHandleIntent которого запускается что то типа

Код: Выделить всё

AQuery aq = new AQuery(this);
            aq.ajax(url, JSONObject.class, new AjaxCallback<JSONObject>() {
В callback объекта AQuery я обрабатываю полученный ответ от сервера, заполняю базу и т.п., т.е. делаю некоторые тяжелые задачи, выполнение которых не желательно в главном потоке. Но проблема в том, что после выполнения такого асинхронной загрузки callback AQuery уже выполняется не в потоке, созданном для IntentService, а в основном потоке, поскольку IntentService уже благополучно завершился. И как следствие приложение вылетает с ANR.

Подскажите пожалуйста, как поступить в таком случае? Создавать для AQuery еще один поток? Или как будет правильно?

P.S. прошу прощения, не в том разделе тему создал. Перенесите пожалуйста в Service, Broadcast Receiver, асинхронность

Ответить