LocationManager locationManager = (LocationManager)getApp().getSystemService(Context.LOCATION_SERVICE); //getApp() returns my Application object
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER , 1, 1, this);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1, 1, this);
それは私が聞くために使用しているコードです。GPSを有効にすると、すべてが正常に機能します。ただし、GPSを無効にしてネットワークの場所に依存していると、古い結果が得られます。この場合は、2日前のものです。更新できません。getLastKnownLocationを呼び出すと、同じ古い結果が返されます。
グーグルマップは問題なく更新されるので、ハードウェア/システム構成の問題ではないことを私は知っています。
私はグーグルで調べて、同様の問題を抱えている人を何人か見つけましたが、答えはありません。プロジェクトをAPIレベル8(2.2)と15(4.0.3)にターゲティングしてみました。同じ結果。私の電話はICSを実行しています。
また、GPS_PROVIDERのリクエストを削除し、getAllProviders()にすべてのリクエストを含めてみました。同じ取引。
NETWORK_PROVIDERが更新されない理由はありますか?どんな助けでも大歓迎です。
(PSいいえ、通常は時間/距離パラメーターとして「1、1」を使用しません。これをデバッグしているときに変更しただけです。)
編集:はい、isProviderEnabled()がtrueを返すことを忘れました。