2012-02-19 20 views
0

を介して接続されている場合、私はそのようなネットワークから地理位置情報を取得しようとしているネットワークからの地理的位置を取得することはできません。アンドロイド:電話は無線LAN

boolean network_enabled = false; 
LocationManager lm; 
lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); 

try{ 
    network_enabled = lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 
} catch(Exception ex){ 
    Log.v("my_log_tag", "network location exception: " + ex.toString()); 
} 

if(network_enabled){ 
    lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListenerNetwork); 
} 

私の携帯電話が唯一のセルネットワークを介して接続されている場合、それは素敵な作品、しかし、私は問題があります:私の電話がセルネットワーク経由で接続されているだけでなく、いくつかのWiFiアクセスポイント(私のホームアクセスポイント)に接続されている場合、私は場所を受け取りません。 AndroidがWiFiアクセスポイントを使用してジオロケーションを取得しようとしているようですが、もちろん不可能です。 Androidをセルネットワークから取得してWiFi接続を無視するにはどうすればよいですか?

私は間違いなくこれが可能であることを知っています。たとえば、Yandex Maps applicationが問題ありません。

私は1つの詳細を言う必要がある:このYandexのマップアプリケーションは、私は、チェックボックス設定有効にしていない場合でも、ネットワークを介して、地理的位置を受け取ることができます - >場所とセキュリティ - >無線ネットワークを使用を。どのように動作するのかわかりませんが、まったく別のアプローチを使用している可能性があります。

実際はです:GPSが有効な場合、GPSを使用しています。 GPSが無効になっていてもセルネットワーク接続が有効になっている場合、WiFi接続とチェックボックス「無線ネットワークを使用する」とは独立して、ジオロケーションにネットワークを使用します。

どうすればいいですか?

ありがとうございました。

答えて

5

私はジオロケーションを取得していますが、Wi-Fiアクセスポイントは定期的(30秒〜5分)に場所を送信します。しかし、NETWORK_PROVIDERがセルタワーからも受信することは理解しています(遅くて不正確ですが、建物ではより良い信号があります)。

私はしかし NETWORK_PROVIDER作品を使用して、携帯電話のGPSを使用してジオロケーションのための最速の結果を発見したか、それは本当に遅いですし、私はより速く更新する場所を強制的に良い解決策を見つけることができませんでした
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListenerNetwork); 

関連する問題