Я вижу несколько вещей не так с вашей ситуацией:
Точность GPS в лучшем случае составляет около 3 метров, и это в оптимальных условиях.Поэтому не имеет смысла запрашивать обновление, если позиция меняется на 1 метр.Шум GPS может легко указывать движение, когда устройство фактически неподвижно.Сделайте minDistance по крайней мере 10. моей рекомендацией.
Я не понимаю, почему вы вызываете isProviderEnabled (), поскольку вы ничего не делаете с возвращаемым значением.
Вы говоритечто после startService () все должно работать в фоновом режиме, но это не так.Служба не работает в фоновом режиме, если вы не создадите для нее какой-то фоновый поток.В этом ответе слишком много информации, чтобы объяснить, как работают службы.Зайдите в Интернет и немного почитайте, или получите хорошую книгу по разработке под Android.