【问题标题】:Android GPS getLastKnownLocation if locationUpdater takes too longAndroid GPS getLastKnownLocation 如果 locationUpdater 耗时太长
【发布时间】:2011-11-20 04:11:42
【问题描述】:

使用 android 并使用 GPS 作为位置提供程序,我如何告诉它在指定的秒数后停止寻找 GPS 锁定,而只是诉诸使用最后一个已知位置?

我目前正在以相反的方式执行此操作,我首先获取 lask 已知位置,然后让请求更新功能运行。我的问题是 GPS 有时永远无法修复,但它不会停止尝试修复。对我来说非常烦人的问题(可能对某些用户来说)

建议?

【问题讨论】:

  • 你能提供一个代码来创建 LocationListener 并开始监听位置更新吗?

标签: android gps location locationlistener


【解决方案1】:

也许您可以为此使用计时器。您可以按照以下步骤操作。

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

    public void schedule (TimerTask task, long delay)   
    e.g. timer1.schedule(timerTask,60000)
    

这应该会在 60 秒后停止位置侦听器,因为您在 timertask 中取消注册它。希望它会有所帮助。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      相关资源
      最近更新 更多