Я работаю над приложением, которое должно работать в фоновом режиме и отправлять обновления местоположения на сервер.Служба прекращает обновление местоположения
Код довольно прост и нормальный работает. Существует служба с таймером, которая каждые 15 секунд отправляет обновления на сервер, а также реализует интерфейс LocationListener.
Я не думаю, что дает весь код был бы полезен, вот как я создал класс:
@Override
public void onCreate() {
super.onCreate();
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER , 5000, 10.0f, this);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER , 5000, 10.0f, this);
//Ping Task sends updates to the Server
Ping_Timer.scheduleAtFixedRate(new Ping_Task(), 5000, Ping_Task.TIME_GET_JOBS*1000);
}
На практике у меня есть некоторые проблемы с моим кодом. Службы должны работать в фоновом режиме, даже если в стоп-сервисах есть система GCM, чтобы перезапустить службу в фоновом режиме.
Даже с этими защитами у меня все еще есть проблемы, иногда приложение больше не обновляет местоположение, даже если ясно, что служба все еще работает. В приложении «Карты Google» я вижу, что местоположение там правильно, но не в моем приложении. Как это может быть, почему я больше не получаю событие onLocationChanged.
Благодарим за помощь.
Это сервис. – nickik
обновил мой ответ. проверьте это. – slhddn
Зачем мне проходить через android.os.Message? Я мог бы просто делать то, что я делаю непосредственно в LocationListener. – nickik