Я работаю над обновлением существующего продукта, используя here-sdk с версии 3.7 до 3.8 / 3.9
. Он имеет аппаратный GPS на борту, доступный через Android LocationManager.GPS_PROVIDER
, но также получает информацию о местоположении от внешнегоустройство, которое вводится через макет местоположения в качестве поставщика сети:
this.locationManager.addTestProvider(LocationManager.NETWORK_PROVIDER,
false, false, false, false, true, true, true,
Criteria.POWER_LOW, Criteria.ACCURACY_FINE);
this.locationManager.setTestProviderEnabled(LocationManager.NETWORK_PROVIDER, true);
this.locationManager.setTestProviderStatus(LocationManager.NETWORK_PROVIDER,
LocationProvider.AVAILABLE, null, System.currentTimeMillis());
Эти внешние данные используются главным образом, когда недоступен GPS, например.во время запуска.
PositioningManager запускается с: PositioningManager.getInstance().start(PositioningManager.LocationMethod.GPS_NETWORK);
В других местах кодовой базы есть обработчики locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, ...)
-> onLocationChanged(Location location)
, которые запускаются в каждом новом макетированном местоположении, плюс прослушивание других обработчиковна LocationManager.GPS_PROVIDER
, которые работают для обновлений с аппаратного GPS.
Есть также PositioningManager
onPositionFixChanged()
прослушиватели, которые запускают для этих же координат от обоих провайдеров.
В HERE SDK 3.7 это всеработает отлично.
Как только я обновляю HERE SDK до 3.8, обновления сетевого провайдера перестают работать.
Отображение карты больше не обновляется, и прослушиватели onPositionFixChanged()
больше не запускают фиктивные обновления сети.Однако обновления GPS работают нормально.
Слушатели LocationManager onLocationChanged
по-прежнему работают для сети, но не обратные вызовы PositioningManager.
Если я изменяю провайдер-провайдер на переопределение LocationManager.GPS_PROVIDER
вместо сети,onPositionFixChanged()
и карта обновляется корректно, но тогда реальные координаты GPS теряются.
SDK 3.9 ведет себя так же.
Даже при изменении запуска Positioning Manager, чтобы он не использовал gps, не работает только сеть, я не получаю обновлений ни от одного поставщика.
Переключение обратно на файл 3.7 aar заставляет все работать снова (сникаких других изменений кода)
Если это поможет, устройство работает под управлением Android 5.1.1
Спасибо!