如何使用位置侦听器?
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 传递到该调用中,框架将在有新位置时调用这些函数。
我不清楚如何使用位置侦听器。
我这样做吗:
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 传递到该调用中,框架将在有新位置时调用这些函数。