2012-12-09 1 views
4

배터리를 절약하기 위해 NETWORK_PROVIDER에서 GPS를 끄고 정확한 위치를 얻고 싶습니다. ACCESS_FINE_LOCATION을 지정하면 안드로이드가 지정되어 GPS_PROVIDER에 위치가 요청되지 않아도 GPS가 켜지므로 불가능합니다.ACCESS_FINE_LOCATION에서 GPS를 끄는 방법?

는 내가 추가 한 :

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

를 매니페스트에. 나는 정확한 위치를 난독 화하는 것을 피하기 위해 그것을 필요로했다.

myLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 
     60000, 0, locationListener); 

GPS가 어쨌든 켜지 :

난 그냥 NETWORK_PROVIDER하지 GPS_PROVIDER를 사용하여 업데이트를 등록했다. 어떻게 피할 수 있습니까? (사용자가 GPS를 사용하지 않도록 설정하지 않고 실제로 작동하지만 바람직하지 않습니다.)

+0

이 방법을 사용하여 서비스 제공 업체가 GPS를 사용하는지 여부를 확인하십시오. http://developer.android.com/reference/android/location/LocationProvider.html#requiresSatellite() – nayab

답변

2

gps 공급자의 위치 업데이트를 요청하지 않은 경우 이상하게 들리지만 GPS를 부팅해서는 안됩니다.

조언을 드릴 것입니다. Google이 위치를 알고있는 무선 랜에 앉아 있지 않으면 네트워크 제공 업체가 '정확함'을 제공하지 않습니다.

셀 타워를 기준으로 한 위치 지정은 일반적으로 도심의 경우 약 500 - 2000m, 아마도 3-500m의 정확도를 갖습니다.

0

전력을 절약하기 위해 포지셔닝 기술을 사용할 수없는 경우 어떻게 정확한 위치를 얻을 수 있습니까? 그것은 자동차가 당신을 일하기를 기대하지만 가스를 넣고 싶지는 않을 것입니다. 탄 스타 필.

위에서 언급 한 것처럼, Wi-Fi 위치 확인은 Google이 알고있는 APN 몇 대 주변에 있다면 꽤 좋은 위치 정확도를 제공 할 수 있습니다. 충분한 시간과 충분한 사람들이 전화기를 사용한다면 Google은 결국 이동하지 않는 모든 APN을 배우게됩니다.