如何在android中连续获取用户的位置?

时间:2015-10-12 16:51:20

标签: android android-location

我想获取用户的当前位置(纬度,经度对)并仅在用户距离之前获取的位置100公里处时将其发送到服务器。如果有的话,最好的方法是什么?

我的目的是在获取位置时使用最少的用户资源。

1 个答案:

答案 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是请求之间的最短时间。