【发布时间】:2014-06-24 21:23:08
【问题描述】:
我正在使用LocationManager的方法requestLocationUpdates获取手机的位置。
我使用 GPS 作为 Provider 并使用 LocationListener 更新我的应用程序的 UI。
我需要每 1000 毫秒在我的 Activity 上调用一个方法。为此,我像这样配置了requestLocationUpdates:
locationManager.requestLocationUpdates(provider, 0, 1000, listener);
一切运行良好。调用onLocationChanged方法,显示经纬度ok。
但我有一些疑问。
- 如果我在没有 GPS 信号的地方会发生什么?
- 有一些
automatic超时? - 否则应用程序会一直尝试使用 GPS 获取位置并耗尽电池电量。
- 如果我切换到
WiFI/3GProvider 并且那个信号也不起作用,会发生什么?也一样吗?
我在互联网上搜索寻找答案,但找不到正确的解决方案。
【问题讨论】:
-
1.如果您没有 GPS 且没有供应商信号,您将无法获得位置。 2.据我所知,它会一直运行到你或服务器停止它(一旦你达到最大请求,服务器就会停止它)。 3. 是的,定期发出请求(尤其是每 1000 毫秒,即使它不会真正拉得那么快)会耗尽你的电池电量。 4. 如果您切换到您的提供商并且他们无法正常工作,您将不会获得更新。您必须有某种连接才能获取位置更新。
-
所以使用 GPS 或 WiFi/3G,没有信号,如果我不设法停止“拉”,电池会耗尽吗?有一些正确的方法可以做到这一点?谢谢
-
如果您没有信号,它只会继续寻找信号,这最终会耗尽您的电池电量。您可以设置某种计时器,一旦您在一段时间内没有收到信号,它将停止您的服务,并在有信号时提示用户重试
标签: android gps android-location