2015-02-12 3 views
0

Мое приложение синхронизируется с данными, полученными с использованием асинхронизации. Когда данные получены, я обновляю список и создаю уведомление. Он отлично работает, но если приложение находится в режиме паузы, я хочу только создать уведомление. Я хочу, чтобы он продолжал выполнение этой асинтезы даже после onPause (если пользователь переключился на другое приложение или нажал домашний ключ).Android - Выполнение asynctask intervally, даже если приложение приостановлено

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

+0

Единственный способ сделать это, делая это в службе. Нет никакой гарантии, как долго активность будет оставаться в живых после вызова onPause. – DeeV

ответ

0

Почему бы не начать сервис, который запускает фоновый поток? Служба будет продолжать работать, даже если вы не используете свое приложение. Когда вызывается onStop() вашего основного действия, запустите службу. Нить в сервисе засыпает, и каждый так часто подключается к серверу и проверяет наличие обновлений.

В службе onCreate() службы запустите поток. В onStartCommand() (который вызывается, если служба уже существует) службы, проверьте, жив ли поток. Если нет, запустите поток.

Руководство по созданию сервисов: https://developer.android.com/guide/components/services.html

+0

Я предполагаю, что могу воспользоваться услугой, но мне было интересно, нужна ли мне небольшая задача, она мне не понадобится. Поскольку я никогда не работал с Сервисами, они «приложение» самостоятельно или часть моего реального приложения? что мне нужно для разработки нового приложения (которое является сервисом) или оно реализовано внутри основного приложения? – Amos

+0

Услуга является частью вашего приложения. Просто создайте новый класс, который расширяет Service. Он также должен быть объявлен в вашем файле манифеста точно так же, как активность. Прочтите руководство. Вам не нужно читать все это, просто пройдите через соответствующие части. –