powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Android [игнор отключен] [закрыт для гостей] / Получение GPS в фоне (equestLocationUpdates)
3 сообщений из 3, страница 1 из 1
Получение GPS в фоне (equestLocationUpdates)
    #40105540
Подскажите пожалуйста что может быть не так.

Есть приложение под андроид на java.
Есть фоновая служба (работает с ней все хорошо)
при запуске службы в методе onStartCommand вызываю

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 20000, 5, LocationListener_)

и все это работает нормально до поры до времени.

спустя минут 10-15 после закрытия основной формы приложения, координаты начинают приходить очень редко. бывает весь город проедешь, а получишь 1-2 координаты только. (координаты пишутся сначало в базу slq потом отправляются, т.е. со связью не связано)

Если на телефоне запустить приложение фиктивных местоположений, то все работает как надо. При реальных условиях работает через попу.

Сделал тестовое приложение, где вообще ничего лишнего нет, только служба и подписка на событие. Все равно наблюдается описанная проблема.

Куда рыть, подскажите пожалуйста.


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
                
......
if (locationManager != null)
                {
                    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 20000, 10, LocationListener_);
                    locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 30000, 10, LocationListener_);
                }
......




Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
class LocationListenerMay implements LocationListener,  ExecuteGet.async_load_ispolnitel_Callbacks{
        JSONObject formDetailsJson = new JSONObject();

        LocationListenerMay _this = this;
        @Override
        public void onLocationChanged(@NonNull Location location) {
            item_ml item_ml_                    = new item_ml();
            try {
                if (location != null) {
                    double lat = location.getLatitude();
                    double lng = location.getLongitude();
                    item_ml_.p_gps_lat      = String.valueOf(lat);
                    item_ml_.p_gps_lon          = String.valueOf(lng);
                    item_ml_.p_provider_name    = location.getProvider();
                    item_ml_.p_time_zone    = "";
                    //пишем в базу
                    InsertItemFromDB(item_ml_);
                }
            }catch (Exception ex){
                
            }



        }

.........

}
...
Рейтинг: 0 / 0
Получение GPS в фоне (equestLocationUpdates)
    #40105601
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
История у всех одна и та же.

Взять к примеру яндекс карты в режиме навигатора. Пока приложение активно, всё работает. Но стоит свернуть его при активном маршруте - оно запускает сервис с иконкой. Только так андроид гарантирует стабильную работу.

Помимо андроида еще есть оболочки от производителей, в которых встроен режим экономии энергии. Иногда весьма агресивный. Но они тоже соблюдают это правило: сервис с иконкой не убивать.
...
Рейтинг: 0 / 0
Получение GPS в фоне (equestLocationUpdates)
    #40105692
я использую сервис с "иконкой" он вполне себе работает. по мимо работы с gps в фоне протекают ещё несколько процессов. все связаны с одним и тем же сервисом. и они отлично работают. не понятно только что происходит с gps... в эмуляторах все отлично. на реальном аппарате с эмуляцией изменения местоположения тоже все отлично.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Получение GPS в фоне (equestLocationUpdates)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]