2015-04-03 2 views
0

Я хочу запустить фоновое задание, возможно, Handler или Asynctask внутри IntentService. Но мне также нужно, чтобы это было cancellable.Запуск отменой фоновой задачи в службе

В этой фоновой задаче я хочу запустить таймер, а после 30 секунд я хочу выполнить вызов сервера. Но я также хотел бы иметь возможность отменить вызов сервера, если пользователь нажимает кнопку в DialogFragment.

Может ли это начаться Post Delayed Handler? Если да, то как мне получить доступ к указанному Handler из моего Activity?

ответ

0

Сначала посмотрите here.
Как вы прочтете, вы не сможете остановить задачу, запущенную в IntentService.



Я предлагаю использовать обработчик для запуска или не обслуживания. Предположим, например, что у вас есть Кнопка A и Кнопка B. Когда вы нажимаете кнопку A, приложение через 30 секунд запускает задачу, но пока вы нажимаете кнопку B, Служба не будет запущена.
Когда нажата кнопка A, вы можете отправить задержанное сообщение обработчику (задержка 30 секунд), и если нажать кнопку b, вы можете установить локальную переменную в false и когда обработчик окончательно получит это сообщение, вы можете проверить эту переменную, чтобы увидеть если для запуска службы или нет

Смежные вопросы