안녕하세요 몇가지 질문이 있어서 글 올립니다.
제가 몇일전까지 넥서스원으로 위치기반 어플을 개발하고있었는데요.
테스트 용 폰을 바꾸려고 최근에 KT용 베가레이서 공기계를 하나 구입해서 테스트를 하였습니다.
하지만 어플을 구동해서 액티비티로 들어갈때 알수없는 오류가 나면서 현재 위치를 받아오지 못하고 팅기더군요..
넥서스원에선 잘 돌아가구요; 갤럭시S에서도 잘 돌아갑니다.
혹시 이런경우 겪어 보신분 계신가요?
로그캣을 살펴보니 지오코더를 사용하는 부분에서 NULL값이 넘어오더군요,, 더 정확히 말씀드리면 현재위치를 GPS에서 얻어오지 못합니다... 넥원, 베가레이서 둘다 2.3.3을 사용하고있는데 왜 이런 경우가 발생하는지 이유를 전혀 모르겠습니다.
더욱 이상한건 가끔 될때도 있다는 겁니다.; 한번 되면은 쭉 되다가도 다음날 되면 다시 안되구요..
친구중에 베가레이서 LG 껄 쓰는 친구가있어서 테스트를 해보았는데 한번에 잘 돌아가더군요.. 물론 자기 폰으로 사용하구 있구요
제 생각에는 공기계고 USIM없이 테스트하는 폰이라 안되는 것 같진 않습니다. (넥원도 공기계로 USIM없이 테스트만 하는용도 이므로)..
혹시 베가 레이서로 위치기반 어플, 특히 지오코더를 사용하시는 분 있으시면 잘 되시는지 알고싶습니다...
답견 잘 보았습니다. 문제는 lastknownlocation때문에 발생한 것 이었습니다.
그런데 하나 궁금증이 있습니다. GPS가 수신이 안되는 실내에서 실행시 NETWORK프로바이더로 위치정보를 수신하려고 합니다.
해서
Location getMyLocation(){
Location location = locationManager.getLastKnownLocation(bestProvider);
if(location == null){
location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Log.d("eeeeeeeeeeeeeeeeeeeeeeeeeeeeee", location+"");
}
return location
}
이런식으로 해주 었는데 역시 최근의 위치정보가 기억되고 있지 않는 폰으로 테스트 하면 null값이 넘어와서 결과적으로 null이 리턴되게 됩니다. NetWork프로바이더도 한번도 실행한적이 없기때문에 에러가 나는지 궁금합니다.
그래서 기본 탑재된 지도어플을 밖에 나가서 실행하여 위치정보를 폰에 얻어온 후 다시 어플을 실행시키니깐 제대로 위치정보가 넘어왔습니다.
여기서 의문점이 어플을 실행하면 그때 GPS가 안되는 지역이면 WIFI를 통하여 NETWORK로 받아오는데 최근의 NETWORK. 즉 getLastKnownLocation(LocationManager.NetWORK_PROVIDER)가 아닌 그 자리에서 네트워크 수신을 요청 해서 받아오는 방법은 없나요??




지오코더중에 혹시 lastlocation 을쓰는경우 그렇지않던가요~??^^;;
lastknownlocation을 쓰는경우에는 반드시 null에 대한 대처를 해주셔야합니다 ㅎㅎㅎ
그래서 다른 어플에서 gps를 받아오고나서 lastknownlocation을 쓴경우는 ->된다
바로켜면->안된다.
일단 글만보면 lastknownlocation때문인거같네요 ㅎㅎ