안드로이드 개발 질문/답변
(글 수 45,052)
"오늘날씨" 개발자 소지입니다. 사용자의 위치를 자동으로 파악하여 날씨 정보를 제공하는데 정확한 위치 정보를 가져오는데 문제가 있습니다. 해당 시 정도만 알면 되므로 GPS정보는 필요없고 네트워크 위치 정보 정도만 알면 됩니다. 그래서 인터넷을 검색해서 코딩했는데 정확한 위치를 가져오지 않습니다. 가령 영주시에서 풍기로 이동했을 때 폰에서는 계속 영주로 표시되는 것입니다. 구글지도를 실행하고 내위치를 터치해야 비로소 제대로 된 위치가 표시됩니다. 위젯이므로 requestlocationupdates같은 리스너를 달 수 없을 것 같고 설령 가능하다 해도 성능 문제상 안 달 수 있는 방법이 있다면 안 다는 것이 나을 것 같습니다. 제가 사용한 코드는 다음과 같습니다.
LocationManager locationManager = (LocationManager) icontext
.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = locationManager.getBestProvider(criteria, true);
Location location = locationManager
.getLastKnownLocation(provider);
혹시 방법을 아시는 분이 계시면 도움 요청합니다. 참고로 제 안드로이드 버전은 1.5입니다. 상위버전에서는 이런 버그(?)가 해결되었는지 궁금합니다.