위치를 찾기 위해 내 응용 프로그램을 사용했지만 일부 코드가 변경되어 현재 위치가 항상 null을 반환합니다. 부끄러 웠지만 어떤 코드를 변경했는지 확신 할 수는 없지만 단지 작동하지 않을 수 있습니다.안드로이드 위치는 항상 null
왜 이것이 null을 반환하는지 볼 수 있습니까? 나는 기쁨으로 하루 종일 일하고 있습니다. 아래 코드 : 당신은 모두 무슨 일이 일어나고 있는지 볼 수 있도록 나는 모든 권한을 추가하고 내 코드를 단순화
....imports....
public class Clue extends Activity {
public static double latitude;
public static double longitude;
Criteria criteria;
LocationManager lm;
LocationListener ll;
Location location;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.questions);
criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
ll = new MyLocationListener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
areWeThereYet();
}
private void areWeThereYet()
{
if(weAreThere())
{
showMsgBox("There");
}
else if(location!=null)
toastMsg("not there");
}
private boolean weAreThere() {
location = getLocation();
if (location!=null)
{
longitude = location.getLongitude();
latitude = location.getLatitude();
return inCorrectPlace(question);
}
else
{
toastMsg("Location not ready yet");
return false;
}
}
private Location getLocation() {
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
return lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}
}
public class MyLocationListener implements LocationListener
{
public void onLocationChanged(Location loc)
{
Clue.longitude = loc.getLongitude();
Clue.latitude = loc.getLatitude();
}
}
.
감사합니다,
벤
미래를위한 제안 : 버전 관리에 코드 삽입! –
나는 보통한다, 이것은 조금 옆의 프로젝트이었다. 그래서 나는 성가 시게하지 않았다. S는 내가 지금했다라고해도 좋겠다고 생각한다! –
장치 또는 에뮬레이터에서이 작업을 수행하고 있습니까? 장치 인 경우 GPS가 꺼져 있지 않은지 확인하십시오. 에뮬레이터가 있다면 locationManager가 반환 할 위치를 가질 수 있도록 위치를 적어도 한 번 보내려면 DDMS를 사용해야한다고 생각합니까? – Kaediil