2013-03-15 39 views
1

因此,我正在這個應用程序,將通過使用傳感器的WiFi檢測到它的WiFi熱點的位置(手機實際上並沒有連接到熱點無線網絡,它只是檢測)。 在開始開發應用程序之前,我正在做一些初步研究,似乎Google Geolocation API將爲我完成這項工作。然而,它不是免費的(至少我通過API閱讀後瞭解了什麼)。我檢查了其他檢測wifi熱點的應用程序,我只是想知道這些應用程序是否擁有自己的數據庫,包含所有的WiFi熱點信息(SSID,位置座標等),因此當WiFi傳感器檢測到WiFi熱點時,它會查找數據庫並獲取位置等信息。另外,我有一位同事提到Google地圖也存儲了wifi信息。是真的嗎?因爲我找不到任何有關這方面的信息。谷歌地圖Android API獲取wifi位置

回答

2

Android有多個LocationProviders,包括:

  • LocationManager.GPS_PROVIDER:獲取使用位置GPS
  • LocationManager.NETWORK_PROVIDER:使用WiFi,蜂窩網絡等獲得位置
  • LocationManager.PASSIVE_PROVIDER:得到由已經提供了一種使用位置數據運行提供商。這允許幾個應用程序共享地理位置信息)

您不必支付任何費用使用NETWORK_PROVIDER
一些供應商可能不存在在所有設備上,根據手機型號和Android版本。

供應商有不同的特點:網絡是快,但不夠精確始終,GPS精確,但速度慢和電池密集等的最佳策略是儘快你從幾個供應商要求的位置,並取消掛起請求這是一個好位置不夠取決於您的標準(精度,響應時間等)

我發現this article由雷託梅耶爾非常有用的包裹我周圍的地理定位的頭在Android

+0

我不知道的LocationManager。但是我想要做的是獲取使用我的wifi發現的wifi熱點的位置。但事情是,我沒有連接到無線網絡。我只是想找到任何可用的,並嘗試瞭解我的當前位置。使用NETWORK_PROVIDER的LocationManager只有在連接到無線網絡時才能使用。 – user2168777 2013-03-15 13:50:17

+0

NETWORK_PROVIDER不**不要求您連接到熱點。它使用手機信號塔,可見的SSID以及其他可快速計算手機**的大致位置的其他信息。如果您試圖獲得熱點的位置,那麼這是另一個問題。 – nicopico 2013-03-15 14:01:16

+0

因此,如果我找到可用wifi點的列表,那麼我可以獲得每個人的額外信息,而無需建立諸如SSID或BSSID之類的連接。謝謝,我想我現在有一個想法。 – user2168777 2013-03-16 01:42:06