지금 하고자 하는 것은 실내인지 실외인지 인식해서 실내일 경우 WiFi를 이용해서 위치를 잡고,
실외일 경우 GPS를 이용하려고 하는데요.
참고로 WiFi의 경우 Network provider 말고 오픈소스를 사용합니다.

실외인지 실내인지 구분을 GPS가 잡히는지 안잡히는지를 가지고 하면 될 것 같았는데
getLastKnownLocation을 쓰면 계속 이전 데이터를 가지고 와서 GPS가 계속 사용 가능한 것으로 나옵니다.
requestLocationUpdates를 해줘도 그렇구요...

좋은 방법이 없는지 궁금합니다.
location을 받아와서 현재 시간과 비교하는 코드를 추가해야만 하는 건가요?
그렇게 하면 또 될 법도 같은데...
혹시 관련해서 아시는 분 계시면 답변 부탁드립니다.

아래는 관련 코드입니다.

protected void showLocation(Location loc) {
String strLocation;
if (mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
&& (mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER) != null)) {
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
3000, 1, gpsListener);

// GPS available -> outdoor
android.location.Location gpsLocation = 
mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
strLocation = "GPS : " + gpsLocation.getLatitude() + "," + gpsLocation.getLongitude();
} else {
// otherwise indoor
if (loc == null)
return;
strLocation = "Wifi : " + loc.getSymbolicID() + " : " + loc.getAccuracy();
}
Toast.makeText(this, strLocation, 0).show();
}