我有下面的代码,它得到了Most Recent location
之后的 every30 seconds
和10 meters
,但它会不断地接收位置更新,并且每 30 秒后它会获取最新的位置更新。
有没有更好/有效的方法来做到这一点?
基本上我的要求是Current Location
每 30 秒和10 meters distance moved
. 我可以通过多种方式做到这一点,我在想有没有更好的方法来解决这个问题?那么 Timer 类呢?
任何想法都会有很大帮助。
@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) {
}
}