Как заставить IntentService немедленно остановиться с помощью кнопки отмены из Activity?

У меня есть IntentService, который запускается из действия, и я хотел бы иметь возможность немедленно остановить службу из действия с помощью кнопки "отменить". кнопка в деятельности. Как только это "отменить" кнопка нажата, я хочу, чтобы служба прекратила выполнение строк кода.

Я обнаружил ряд вопросов, подобных этому (т.е.Вот, Вот, Вот, Вот), но нет хороших ответов.Activity.stopService() а такжеService.stopSelf() выполнитьService.onDestroy() метод сразу, но затем пусть код вonHandleIntent() закончить весь путь до уничтожения службы.

Поскольку, по-видимому, не существует гарантированного способа немедленного завершения потока службы, единственное рекомендуемое решение, которое я могу найти (Вот) должна иметь логическую переменную-член в службе, которая может быть переключена вonDestroy() метод, а затем иметь почти каждую строку кода вonHandleIntent() обернутый в свое собственное «если» пункт, глядя на эту переменную. Это ужасный способ написания кода.

Кто-нибудь знает лучший способ сделать это в IntentService?

Ответы на вопрос(9)

Ваш ответ на вопрос