Можно ли вызвать stopSelf() в Service.onStartCommand?

Существуют некоторые условия, когда моя служба может быть запущена, когда этого не должно быть. В таких случаях это плохая форма для вызова stopSelf(), находясь внутри метода onStartCommand()? Если да, то каков наилучший способ справиться с такой ситуацией? Любые ресурсы будут высоко оценены.

Ответ 1

Плохая ли форма вызова stopSelf() в то время как внутри метода onStartCommand()?

Сверху моей головы, я не могу придумать, почему это будет проблемой.

stopSelf(), как и много вещей в Android, не имеет немедленного эффекта. Он помещает сообщение в очередь сообщений, обрабатываемую основным потоком приложения. Фактическая работа по остановке службы начнется не раньше, чем через некоторое время после возврата onStartCommand().