如何ACCESS_FINE_LOCATION保持GPS关闭?

时间:2012-12-09 18:03:57

标签: android gps locationmanager

我希望从NETWORK_PROVIDER获得准确的位置,以保持GPS关闭以节省电量。这似乎是不可能的,因为当指定ACCESS_FINE_LOCATION时,即使未向GPS_PROVIDER请求位置,安卓也会打开GPS。

我已添加:

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

进入清单。我需要这个,以避免android混淆准确的位置。

我仅使用NETWORK_PROVIDER而不是GPS_PROVIDER注册了更新:

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

无论如何GPS都会开启。我怎样才能避免它(不强迫用户禁用GPS,实际上有效但不受欢迎)?

3 个答案:

答案 0 :(得分:2)

听起来很奇怪,如果你没有从gps-provider请求位置更新,它就不应该启动GPS。

让我给你一些建议 - 不要指望网络提供商给你'精确'的准确性,除非你坐在谷歌知道其位置的无线网络上。

基于手机信号塔的定位通常在城市中心的准确度约为500-2000米,可能为3-500米。

答案 1 :(得分:0)

如果您不想使用GPS,请使用ACCESS_FINE_LOCATION,或使用ACCESS_COARSE_LOCATION

答案 2 :(得分:0)

如果您的定位技术被禁用以节省电力,您如何才能获得准确的位置?这就像期待一辆车带你上班但不想把气体放进去。 tanstaafl。

如上所述,如果您在Google知道的几个APN周围,WiFi定位可以为您提供非常好的位置搜索功能。如果有足够的时间和足够的人使用他们的手机,谷歌最终将学习每一个无法移动的APN。