На BlackBerry LocationProvider имеет значение NULL, если для параметра «Службы GPS» установлено значение «Отключено». - PullRequest
2 голосов
/ 07 августа 2010

В этом потоке MSohm говорит: «Опция GPS Services не включает или выключает GPS».Это означает, что если устройство имеет встроенный приемник GPS, то такой код

LocationProvider provider = LocationProvider.getInstance(null);

никогда не должен возвращать ноль независимо от опции служб GPS.

Но если я попробую приведенный выше код на симуляторах Curve 8310 (4.5.0) и Storm 9530 (4.7.0) (оба имеют встроенный приемник GPS), то я получу null если опция GPS Servicesустановлено в положение OFF .Если я изменю опцию GPS Services на Location ON , тогда я получу ненулевой LocationProvider, и тогда я смогу получить locatoin и т. Д.

Это ошибка симуляторов?Кто-нибудь может сказать, как это будет работать на реальном устройстве?

ОБНОВЛЕНИЕ:

Я только что получил результаты тестирования на реальном устройстве (Storm).Удивительно, но реальное поведение устройства такое же, как на симуляторе.Я сбит с толку.MSohm сказал: «Сервис GPS не включает и не выключает GPS», но выглядит так, будто он включает и выключает GPS.Может ли кто-нибудь дать какие-либо комментарии?

1 Ответ

1 голос
/ 17 августа 2010

Мой опыт подсказывает, что это не ошибка

На самом деле вы можете включать и выключать местоположение в настройках Blackberry, в настройках GPS.

Я бы порекомендовал послеобъявляя LocationProvider, проверяющий, является ли это нулем.Если значение равно нулю, отправьте пользователю сообщение о том, что местоположение GPS выключено и что он должен сначала включить его, чтобы использовать GPS.

Вы также можете сказать ему, где это изменить.настройки.

Вы получаете то же поведение на реальных устройствах, поэтому я думаю, что это лучший подход.

Я проверил это на кривой 8530.

Имейте в виду, что,при запуске симулятора вы должны включить GPS в меню окна симулятора, что может быть причиной того, почему вы получаете нулевой LocationProvier на симуляторе

...