当应用程序空闲时如何在android中停止GPS更新?

时间:2011-05-05 16:55:48

标签: android location

朋友,

我创建了一个应用程序,我在其中获取GPS位置onCreate Method和

onPause方法我删除位置更新。

在进行gps更新后,我的手机处于空闲状态,整夜都处于空闲状态,我的应用程序正在运行中,早上因为我猜测GPS功能下降了。

任何人都指导我如何处理这种情况,如果应用程序空闲而不是onPause(),我应该停止使用哪种方法?

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

onPause()中停止位置更新通知没问题,但请注意两件事。

  1. 如果GPS仍然打开,它仍然会吃掉你的电池。
  2. 根据activity life cycle,如果您开始在onCreate()中收听位置更新并在onPause()中停止,那么当您将应用程序返回到前台时,它将不会再次注册更新,考虑将注册移至onResume()

答案 1 :(得分:1)

如果用户移动到无法找到信号的室内,我问了一个关于超时GPS的类似问题。我在LocationListener类中启动了一个计时器,如果在5-8秒内未找到信号,则删除更新。这里有一些代码可能有助于How to time out GPS signal acquisition

答案 2 :(得分:0)

如果您停止接收广播(因此在您的活动的onPause()方法中取消注册您的BroadcastReceiver),您的应用程序将无法继续从LocationManager接收更新。