Так же, как и к предыдущему ответу, вы не должны использовать requestLocationUpdates для этого. Вы должны использовать AlarmManager каждый час, а затем выполнять .requestSingleUpdate ().
Кстати, время, которое вы даете, является в основном ложным, устройство просто использует это как подсказку, вы можете ожидать, что частота будет намного выше, чем вы запрашиваете.
И помните, что через час ваше приложение может быть уничтожено менеджером процессов Android, поэтому оно все равно будет мертвым. В любом случае, AlarmManager будет решением этой проблемы.