안드로이드에서 GPS관련 질문 좀 드리겠습니다.
제가 원하는건 앱을 실행시킨후 바로 GPS를 체크하는건데요... 

GPS가 켜져 있으면 GPS로 찾고 꺼져있거나 수신이 불가능하면 와이파이나 3G로 찾는걸 단계적으로 구현하고 싶은데요.... 

여기저기 자료를 보니 Creieria라는 클래스가 비슷한 기능을 자동으로 구현해 주는것 같은데요...

아래의 코드에서 몇가지 질문드리겠습니다.

LocationManager locationManager;
String context = Context.LOCATION_SERVICE;
locationManager = (LocationManager)getSystemService(context);

Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE); //정확도(ACCURACY_COARSE :네트웍, ACCURACY_FINE :GPS)
criteria.setAltitudeRequired(false); //고도
criteria.setBearingRequired(false); //방위, 방향
criteria.setCostAllowed(true); //과금여부, true:3G, false:WIFI ???? 과연맞을까????
criteria.setPowerRequirement(Criteria.POWER_HIGH); //전력사용:GPS는 전력사용량이 많다.
String provider = locationManager.getBestProvider(criteria, true);
Log.v("MAPTEST", "matchingProviders 1: " + provider);


주석은 그냥 제가 임의로 달아 놓은거구요... 
테스트를 해보니 setAccuracy는 ACCURACY_COARSE 이면 네트웍으로 ACCURACY_FINE 이면GPS로 연결이 되네요...
고도나 방위는 사용하지 않으니 false로 했구요...
setCostAllowed라는 넘은 뭐하는건지 모르겠습니다. (<- 질문1)
주석처럼 왠지 true:3G, false:WIFI일듯하여 테스트를 해봤더니 false로 해두고 GPS와 와이파이를 껐더니 3G네트웍으로 연결이 되네요...
그리고 setPowerRequirement 이넘은 HIGH, MIDDLE, LOW가 있던데... 전력값에 따라서 GPS연결 프로바이더가 변경이 되는지도 궁금합니다. (<-질문2)

우선 정확도를 ACCURACY_FINE로 해두고 실내에서 와이파이끄고 실행을 시켜보면 위치를 찾으려고 계속 위성안테나가 깜빡거리고 있습니다. 혹시 전력사용이 하이로 되어 있으면 ACCURACY_FINE로 설정된경우 좀더 오랫동안 위성이 깜빡거리는건가요????  (<-질문3)

위의 코드로 했을때 GPS로 위치를 찾지 못하니까 provider이 null이 반환이 되던데... 
ACCURACY_FINE로 찾았을때 null이면 다시 ACCURACY_COARSE 로 한번더 찾는걸 구현해야 할까요???
아니면 Criteria 라는 클래스가 GPS가 안되면 네트웍으로 자동으로 찾아주는걸까요???? (<-질문4)
테스트를 해보니 와이파이는 꺼두고 GPS와 3G만 켠상태에서 실내에서 테스트해보니 GPS를 못찾아서 GPS안테나가 계속깜빡거릴 뿐 
3G로라도 좌표를 받아 오질 못하네요.... 음.... 

GPS연결체크 -> 와이파이연결체크 -> 3G연결체크로 단계적으로 현재위치를 찾게끔 하고 싶은데,
Criteria 클래스를 사용하게되면 방법이 없는건가요???? (<-질문5)

그리고 GPS가 꺼져있을경우 소스코드에서 GPS설정을 켤수는 없을까요???
인텐트로 설정화면으로 넘기는거는 가능할것같은데 소스상에서 바로 켤수있을지는 모르겠습니다. (<- 질문6)

마지막으로 gps, wifi, 3g가 모두 켜져있을때 ACCURACY_FINE 는 GPS를 먼저찾고, ACCURACY_COARSE 는 네트웍으로 먼저 위치를 찾는것같은데요...
ACCURACY_COARSE 는 네트웍으로 먼저찾고 GPS수신되면 GPS수신좌표를 받아오나요???
반대로 ACCURACY_FINE 는 GPS로 먼저찾고 못찾으면 네트웍으로 위치를 찾았다가 GPS수신시 GPS위치를 받아오나요???? (<-질문7)

질문이 너무 장황한듯한데... 며칠간 계속고민만 해보다 안되서 여기다가 질문올립니다.
아시는데까지만이라도 좀 도와주시면 감사하겠습니다.