我在申请中遇到了关于纬度和经度的问题。我的代码如下: -
LocationManager locationManager = (LocationManager)
getSystemService(LOCATION_SERVICE);
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
Toast.makeText(
CheckInSOSMessageService.this,
"Location has been Changed now.....................", 0)
.show();
isLocationChanged=true;
}
public void onStatusChanged(String provider, int status,
Bundle extras) {
}
public void onProviderEnabled(String provider) {
}
public void onProviderDisabled(String provider) {
}
};
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 0, locationListener);
在上面的代码中,一切正常。onLocationChanged方法在位置发生变化时执行。但我的问题是,当我将设备从一个地方移动到另一个地方时,位置发生变化并且 toast 通知出现在设备上,但onLocationChanged方法执行连续几次,即使我的设备现在处于空闲位置,由于 toast 通知一次又一次地出现。这让我很恼火。我希望一旦位置发生变化,上述方法将只执行一次,然后再次移动设备后它会执行。这是我的要求。请大家帮我解决这个问题。在此先感谢!