Страница 1 из 1

как добраться до AsyncTask

Добавлено: 07 май 2015, 18:01
Hummer_hard
Уважаемые форумчане нужен совет, достаточно просто подсказать в какую сторону капать

У меня есть сервис гарантирующий стабильную работу AlarmManager, который в свою очередь через определенные промежутки времени генерирует событие BroadcastReceiver запускающие задачу в AsyncTask.

Доступна возможность запустить эту же задачу по кнопке из Activity.

Внимание вопрос:
Как проверить существует ли уже запущенный AsyncTask, если он был запущен AlarmManager-ом и повторно пытаюсь запустить по кнопке.
AsyncTask реализован как сингелтон.
Сервис живет в отдельном процессе.

Как добраться до AsyncTask?

Re: как добраться до AsyncTask

Добавлено: 08 май 2015, 10:57
KamiSempai
Тут лучше запускать сервис и уже в нем запускать AsyncTask. Тогда через этот сервис можно будет понять выполняется задача или нет.

Re: как добраться до AsyncTask

Добавлено: 08 май 2015, 17:04
Hummer_hard
KamiSempai писал(а):Тут лучше запускать сервис и уже в нем запускать AsyncTask. Тогда через этот сервис можно будет понять выполняется задача или нет.
Период между AsyncTask может быть до суток работы максимум на 2 минуты держать все это время запущенный сервис кажется не целесообразно или ты имеешь в виду запускать еще один сервис по событие AlarmMenedgera?

Re: как добраться до AsyncTask

Добавлено: 08 май 2015, 17:53
KamiSempai
Еще один сервис. По его активности можно понять, что работа запущена.
И еще, при повторном запуске сервиса новый не запустится, а пошлется команда в уже существующий. Таким образом запрет на одновременную работу 2-х задач можно сделать в самом сервисе и просто не запускать новый AsyncTask если предыдущий уже выполняется.

Re: как добраться до AsyncTask

Добавлено: 12 май 2015, 11:09
Hummer_hard
Спасибо за подсказку, думаю это самое правильное решение.