Рассмотрим такой код Android в Сервисе, реализующем Слушатель (события от датчика ориентации):
public void onStateChanged()
{
//do some work
stopSelf();
}
Я хочу, чтобы служба умерла ПОСЛЕ запуска метода onStateChanged()
и ПОСЛЕ того, как выполняется его код. Однако он умирает слишком рано - stopSelf()
вызывается ДО того, как "//do some work"
произойдет. Если я сделаю перерыв во время отладки где-нибудь внутри "//do some work"
, все работает нормально - код выполняется, а сервис умирает. Если я удаляю stopSelf()
- код выполняется. Если я запускаю его так, как описано выше - НИЧЕГО из "//do some work"
не будет сделано. Это почему? Как это возможно?