4

我想通过NETWORK_PROVIDER关闭 GPS 来获得准确的位置以节省电池。这似乎是不可能的,因为当ACCESS_FINE_LOCATION指定时,即使没有向 GPS_PROVIDER 请求位置,android 也会打开 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,这实际上有效但不受欢迎)?

4

3 回答 3

2

听起来很奇怪,如果您没有从 gps 提供者请求位置更新,它不应该启动 GPS。

不过,让我给你一条建议 - 不要指望网络提供商给你“很好”的准确性,除非你坐在谷歌知道位置的 wifi 上。

基于蜂窝塔的定位通常具有大约 500 - 2000m 的精度,在市中心可能为 3-500m。

于 2014-01-29T16:31:31.770 回答
0

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

于 2014-12-11T15:32:56.117 回答
0

如果您的定位技术被禁用以节省电力,您如何期望获得准确的位置?这就像期待一辆车带你去上班,但不想给它加油。坦斯塔菲尔

如上所述,如果您在谷歌知道的几个 APN 周围,WiFi 定位可以为您提供相当不错的定位精度。如果有足够的时间和足够多的人使用他们的手机,谷歌最终会学习每一个不动的 APN。

于 2014-12-12T16:28:27.683 回答