위도와 경도와 관련된 문제가 있습니다. 다음과 같이 내 코드는 다음과 같습니다 - 네저 방법은 위치가 내 문제를 change.But 도착 때 실행는 onLocationChanged 작동하고 위의 코드 모두에서위도와 경도로 위치를 변경하는 데 문제가 있습니다.
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 메서드는 여러 번 실행됩니다. 내 장치조차도 유휴 위치에 있습니다. 이로 인해 토스트 알림이 반복적으로 나타납니다. 많은 것을 자극합니다. . 내가 한 번 그 위치를 원할 때. 변경 위의 방법은 번만을 실행 한 다음 장치를 다시 이동 한 후 실행합니다.이 작업은 내 요구 사항입니다.이 문제를 해결할 수 있도록 도와주세요. 사전 감사합니다!
isLocationChanged는 무엇을 사용하고 있습니까? 이 변수를 사용할 수는 있지만 더 나은 방법은 배터리를 보존하기 위해 청취자 등록을 취소하는 것입니다. –
# 안드로이드의 위치 API에별로 익숙하지 않지만 내가 상상할 수있는 것은 장치를 옮기면 한 번 이상 위치가 변경된다는 것입니다. long과 lat의 마지막 값을 저장하고 새로운 값과 비교할 수있게하십시오. 차이가 크면 게시물을 인쇄하십시오. 단 한 가지 생각, 그것이 사실인지 모르겠다. – ZeusNet