如何使用位置侦听器?

How to use location listener?

我不清楚如何使用位置侦听器。

我这样做吗:

public Location actualLocation;

private class mLocationListener implements LocationListener {

    public void onLocationChanged(Location location) {
        actualLocation = location;
    }

    public void onStatusChanged(String s, int i, Bundle b) {
    }

    public void onProviderDisabled(String s) {
    }

    public void onProviderEnabled(String s) {
    }
}

//Middle of code
currentLatitude = actualLocation.getLatitude()
currentLongitude = actualLocation.getLongitude()

或者这个:

public Location actualLocation;

private class mLocationListener implements LocationListener {

    public void onLocationChanged(Location location) {
    }

    public void onStatusChanged(String s, int i, Bundle b) {
    }

    public void onProviderDisabled(String s) {
    }

    public void onProviderEnabled(String s) {
    }
}

//Middle of code
actualLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

currentLatitude = actualLocation.getLatitude()
currentLongitude = actualLocation.getLongitude()

这段代码中使用了未声明的变量。这是故意的。为了简单起见,我缩短了代码。

更新: 我的问题是:我是使用 getLastKnow location 还是每隔 运行 手动保存一次位置更新? ¿那会一样吗?

您需要致电LocationManager.registerLocationUpdates。您将 LocationListener 传递到该调用中,框架将在有新位置时调用这些函数。