Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Потеря связи со спутниками  (Прочитано 10437 раз)
0 Пользователей и 1 Гость смотрят эту тему.
demon051
Помогающий

ru
Offline Offline

« : 12-02-2014 11:16 » 

Всем привет!
Ситуация такова.
Пишу приложение в котором работаю с навигацией в Android.
Запрашиваю данные от провайдера GPS
locMgr.requestLocationUpdates(LocationManager.GPS_ PROVIDER, MinIvl, 0, this);

Есть у меня 2 смартфона. Оди на Android 2.x.x, второй на 4.х.х

Когда приложение работает на 2-м андроиде, то связь со спутниками устанавливается и удерживается стабильно независимо от того, каково значение MinIvl

На 4м андроиде после запуска приложения устанавливется связь со спутниками и выдаётся событие onLocationChanged
После чего, судя по индикации состояния GPS в системной панели (иконка состояния GPS пропадает), связь сбрасывается, а по истечению указанного MinIvl осуществляется новая попытка установить связь - иконка GPS появляется и начинает мигать. И так до тех пор пока связь снова не установится и не будет выдано событие onLocationChanged. Затем всё по кругу - связь сбрасывается, выдерживается MinIvl и по новой.

В чём может быть дело, кто-нибудь сталкивался с подобным? Это особенности данной подверсии андроида, устройства или что-то ещё?
Кстати, если установить MinIvl = 0 или = 1, то связь для 4го андроида удерживается стабильно, но и соответственно постоянно валятся события onLocationChanged.

Посоветуйте что-нибудь
Заранее спасибо!
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 13-02-2014 10:42 » 

Я бы посоветовал ориентироваться на стабильную связь, вручную обрабатывать события onLocationChanged. И если событие произошло, но location не изменился, то просто ничего не делать.

Однако minIvl = 0, видимо, означает постоянный поток запросов. Просто интервал настолько короткий, что иконка не успевает начать мигать. Не уверен, что эти переподключения - хорошее и правильное явление.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
demon051
Помогающий

ru
Offline Offline

« Ответ #2 : 13-02-2014 11:20 » 

Я бы посоветовал ориентироваться на стабильную связь, вручную обрабатывать события onLocationChanged. И если событие произошло, но location не изменился, то просто ничего не делать.

Однако minIvl = 0, видимо, означает постоянный поток запросов. Просто интервал настолько короткий, что иконка не успевает начать мигать. Не уверен, что эти переподключения - хорошее и правильное явление.

так я и обрабатываю в onLocationChanged

а на втором андроиде она не мигает при любых значениях интервала. можно час установить можно 10-ть. связь иконка не шелохнется Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines