Гость
Map
Форумы / Android [игнор отключен] [закрыт для гостей] / Получение GPS в фоне (equestLocationUpdates) / 3 сообщений из 3, страница 1 из 1
20.10.2021, 11:43
    #40105540
Получение GPS в фоне (equestLocationUpdates)
Подскажите пожалуйста что может быть не так.

Есть приложение под андроид на 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
20.10.2021, 14:23
    #40105601
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение GPS в фоне (equestLocationUpdates)
История у всех одна и та же.

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

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


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