我想获取用户的当前位置(纬度,经度对)并仅在用户距离之前获取的位置100公里处时将其发送到服务器。如果有的话,最好的方法是什么?
我的目的是在获取位置时使用最少的用户资源。
答案 0 :(得分:0)
有一个名为LocationListener的接口:
http://developer.android.com/reference/android/location/LocationListener.html
您可以使用您的LocationManager,如:
public void startLocationUpdates() {
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, false);
locationManager.requestLocationUpdates(bestProvider, 60000, 10, new LocationListener() {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {}
@Override
public void onProviderEnabled(String provider) {}
@Override
public void onProviderDisabled(String provider) {}
@Override
public void onLocationChanged(Location location) {
System.out.println("LOCATION CHANGED: "+location);
}
});
}
public void stopLocationUpdates() {
locationManager.removeUpdates(this);
}
10是最小距离,在这种情况下60000是请求之间的最短时间。