Как заставить IntentService немедленно остановиться с помощью кнопки отмены из Activity?
У меня есть IntentService, который запускается из действия, и я хотел бы иметь возможность немедленно остановить службу из действия с помощью кнопки "отменить". кнопка в деятельности. Как только это "отменить" кнопка нажата, я хочу, чтобы служба прекратила выполнение строк кода.
Я обнаружил ряд вопросов, подобных этому (т.е.Вот, Вот, Вот, Вот), но нет хороших ответов.Activity.stopService()
а такжеService.stopSelf()
выполнитьService.onDestroy()
метод сразу, но затем пусть код вonHandleIntent()
закончить весь путь до уничтожения службы.
Поскольку, по-видимому, не существует гарантированного способа немедленного завершения потока службы, единственное рекомендуемое решение, которое я могу найти (Вот) должна иметь логическую переменную-член в службе, которая может быть переключена вonDestroy()
метод, а затем иметь почти каждую строку кода вonHandleIntent()
обернутый в свое собственное «если» пункт, глядя на эту переменную. Это ужасный способ написания кода.
Кто-нибудь знает лучший способ сделать это в IntentService?