아래처럼 provider 를 찾는 코드를 이용합니다
내부나 외부나 기기에서 무선 네트워크 사용이 체크되어 있으면 항상 gps 가 아닌 네트워크  프로바이더가
 BestProvider 로 되는군요 아래 설정 값들을 잘못 세팅한 건지...

저는 gps 로 위치 찾기가 가능하면 provider 가 gps 그 외인경우 네트워크가 되어져 실내나 실외 모두 위치를
찾으려고 합니다 즈금도 찾기는 되지만 실외에서도 gps 가아닌 네트워크 provider로 찾기가 된다는게 문제네요

  //최상의 provider 를 찾는다
  Criteria criteria = new Criteria();
  criteria.setAccuracy(Criteria.NO_REQUIREMENT); // 정확도
  criteria.setPowerRequirement(Criteria.NO_REQUIREMENT); // 전원 소비량
  criteria.setAltitudeRequired(false); // 고도, 높이 값을 얻어 올지를 결정
  criteria.setBearingRequired(false);// provider 기본 정보(방위, 방향)
  criteria.setSpeedRequired(false); // 속도
  criteria.setCostAllowed(true); // 위치 정보를 얻어 오는데 들어가는 금전적 비용

pv = locationManager.getBestProvider(criteria, true);