Начиная с редактирования вашего вопроса и комментария к ответу Сэма, я в основном проверял бы активность (или все действия) приложения и запускал оттуда диалоговое окно и последующую страницу «Настройки» (если пользовательвыбирает «Настройки»).
По сути, служба должна делать то, что ей нужно, в зависимости от текущей среды, с которой сталкивается основная деятельность (поставщик отключен / включен).Если ваша Служба будет работать при отсутствии пользовательского интерфейса, тогда она должна соответствующим образом компенсировать и уменьшить свои «обязанности».
Кроме того, в этом сценарии Сэм использует идею уведомления (что, в свою очередь, может привести кНастройки, которые будут открыты) является хорошим промежуточным положением.
РЕДАКТИРОВАТЬ Чтобы объяснить немного дальше.Возьмите что-нибудь простое, как приложение электронной почты.У этого есть два аспекта ...
Во-первых, есть пользовательский интерфейс - когда пользователь открывает свое почтовое приложение, если «сеть» отключена, пользователю сообщают об этом с помощью диалогового окна с возможностью перейти к настройкам сети.включить сеть.Нажатие НАЗАД (из настроек) вернется в приложение электронной почты и попытается загрузить любые новые электронные письма.Если пользователь решает не включать сеть, он все равно может просматривать ранее загруженные электронные письма (аналогично частичной функциональности в вашей ситуации).
Во-вторых, существует фоновая служба, которая периодически (каждые 15 минут, 30 минут, 1 час).и т.д.) будет пытаться загрузить любые новые электронные письма, даже если пользовательский интерфейс закрыт.Если сеть отключена, она просто переходит в спящий режим (до следующего времени загрузки).
Теоретически, если пользователь отключает сеть, фоновая служба электронной почты «может» предоставить диалоговое окно или уведомление с надписью «Вы делаете».понимаете, я не могу сейчас работать? "... это то, что вы хотите сделать, НО, если у сервиса есть другие дела, он может просто делать это и игнорировать любые связанные с сетью задачи.В следующий раз, когда пользователь запускает Активность, он получает диалоговое окно с опцией включения сети.
Имеет ли это смысл?