Как я могу получить уведомление, если не могу найти местоположение для GPS? - PullRequest
1 голос
/ 18 января 2010

Например, я нахожусь внутри здания, и я хочу получить свое местоположение с точностью 0,75 (Criteria.ACCURACY_FINE), и это будет использовать GPS, если мой GPS включен. Поскольку я нахожусь в здании, GPS не будет работать.

Как я могу определить, действительно ли невозможно получить местоположение для исправления GPS?

Будет ли вызываться onLocationChanged(Location arg0), несмотря на то, что при использовании LocationListener?

не было получено местоположение исправления GPS

Можно ли использовать тайм-аут при запросе местоположения GPS, чтобы я мог перейти к сети в качестве поставщика местоположения, если я не могу получить какое-либо местоположение?

1 Ответ

2 голосов
/ 18 января 2010

Я вижу три основные возможности:

  1. Установите LocationListener, а затем определить это на основе призывов к onStatusChanged. Мое беспокойство здесь что я не уверен, насколько хорошо Android способен определить разницу между OUT_OF_SERVICE и ВРЕМЕННО НЕДОСТУПЕН. я мог бы надеюсь, что это основано на сигнале сила, но это, вероятно, что-то проверить.
  2. Просто слушайте оба. Если у вас нет услышано от (более точного) провайдера GPS через определенный промежуток времени, затем переключитесь на менее надежные подходы. Это может потреблять больше энергии из-за необходимости контролировать несколько источников местоположения одновременно, но, вероятно, самый надежный метод в противном случае.
  3. Какой-то гибрид из 1 и 2 выше (gps, но переключитесь на локальный, если в течение некоторого времени не будет результатов) ... это может быть наиболее эффективным, но более сложным для реализации.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...