public void onCreate() {
locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = locManager.getBestProvider(criteria, true);
Location location = locManager.getLastKnownLocation(provider);
updateWithNewLocation(location);
locManager.requestLocationUpdates(provider, 0, 0, locListener);
}
private void updateWithNewLocation(Location location){
String str = null;
if(location != null){
double lat = location.getLatitude();
double lon = location.getLongitude();
str = "위도 : " + lat + " 경도 : " + lon;
} else {
str = "위치를 찾을 수 없습니다.";
}
}
이 소스인데요.
이 프로그램이 서비스 이용해서 부팅되었을 때 자동으로 시작해서 저 위치를 서버로 보내줍니다.
그런데 프로그램을 설치 하면 location에 위치를 잘 잡다가
재부팅해서 실행이 되면 location이 null로 잡힙니다.
무슨 문제일까요??ㅠㅠㅠㅠㅠㅠㅠㅠ 도와주세요!!




프로바이더가 현재 위치를 가져오기 전에 호출하셔서 그런것 같은데요
일단 requestLocation인가 하는 메서드를 한번 호출하고
LocationListener의 onLocationChanged에서 넘어온 Location을 서버로 보내주시면 되겠습니다.