私は以下のコードを持っていますが、これはMost Recent location
毎回30 seconds
とを取得します10 meters
が、常に位置情報の更新を受信し続け、30秒ごとに最新の位置情報を取得します。
これを行うためのより良い/効率的な方法はありますか?
Current Location
基本的に私の要件は、30秒ごとにを利用することです10 meters distance moved
。私はこれをいくつかの方法で行うことができます、私はこの問題を行うためのより良い方法があると思っていましたか?そして、タイマークラスはどうですか?
どんな考えでも大いに役立ちます。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new GPSLocationListener();
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
30000,
10,
locationListener);
}
以下は、を実装するクラスですLocationListener
。
private class GPSLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
if (location != null) {
GeoPoint point = new GeoPoint(
(int) (location.getLatitude() * 1E6),
(int) (location.getLongitude() * 1E6));
System.out.println(location.getLatitude()+"--"+location.getLongitude());
}
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}