0

場所の変更をリッスンする簡単なサービスを書いています。私のonStartメソッドには、次のものがあります

    lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    locationListener = new MyLocationListener();
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); 

次に、サービスが変更にどのように反応するかは、onLocationChanged(Location loc)メソッドで処理されます。

ただし、サービス開始時に初期位置を取得したい。位置情報に変更がない場合、位置情報が変更されていなくても、サービス開始時に少なくとも1回は位置情報を使用したいと思います。そうする方法は?

4

1 に答える 1

1

ここで使用getLastKnownLocationします。

次のスニペットが役立ちます。

LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE);
String provider = lm.getBestProvider(crit, true);
Location loc = lm.getLastKnownLocation(provider);
于 2012-06-05T12:04:12.347 に答える