私のアプリはrequestLocationUpdatesを使用しています(GPSとネットワークのどちらか早い方から)。
私のコード:
LocationManager lm = (LocationManager) context
.getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
myLocationListenerInstance);
timeout = new Timer();
timeout.schedule(myGetLastKnownLocationInstance, TIMEOUT);
myGetLastKnownLocationInstance は getLastKnownLocation を使用しています。
私の問題:
現在実行中のアクティビティからこのコードを呼び出すと、myLocationListenerInstance は TIMEOUT 秒未満で通知を受け取ります。
ただし、バックグラウンド サービスから呼び出すと、タイムアウトになり、出力は最後の既知の場所を介して行われます。最悪なのは、測定された Location を調査するときに、タイムスタンプがTIMEOUTよりも小さいことです。
TIMEOUT を 1 分に設定しても、この動作が発生します。
助言がありますか?ありがとう