Android GPS getLastKnownLocation如果locationUpdater需要太长时间

时间:2011-11-20 04:11:43

标签: android gps location locationlistener

使用Android并使用GPS作为位置提供商,我怎么能告诉它在指定的秒数后停止寻找GPS锁并简单地使用最后一个已知位置?

我目前正在这样做,我首先得到lask已知位置,然后让请求更新功能运行。我的问题是GPS有时候永远不会得到修复,但它并没有停止尝试修复。对我来说非常讨厌的问题(可能对某些用户而言)

建议?

2 个答案:

答案 0 :(得分:2)

可能你可以使用一个计时器。您可以按照以下步骤操作。

  1. 定义一个TimerTask,它将取消注册Location侦听器并获取lask已知位置。
  2. 在注册位置侦听器之前,使用上面的TimerTask定义和调度一个定时器,延迟时间为60000毫秒(您的超时时间)。使用以下方法进行计划。

    public void schedule (TimerTask task, long delay)   
    e.g. timer1.schedule(timerTask,60000)
    
  3. 这将在60秒后停止位置监听器,因为您在timertask中取消注册它。希望它会有所帮助。

答案 1 :(得分:0)

取消注册位置监听器时,应该停止尝试修复。请参阅this链接以获取参考。我最近的一个应用程序也遇到了这个问题,取消注册监听器工作。