超时的位置

时间:2011-04-12 14:57:06

标签: android timeout location

我们需要为我们的应用提供位置服务,该服务可从任何地方获得。 我们使用s singletone和应用程序上下文进行系统服务等,并且有两种基本方法 start stop ,它们分别监听位置提供程序并停止侦听。

我们有getLastLocation方法,可以检索当前最新且准确的位置。

我们有另一种让我头疼的方法: - )

位置getLocationWithWait(C类)应该获得一个位置(如果可用),否则它将返回null并将创建一个45秒的计时器。如果45秒已经过去并且没有找到位置,那么计时器将广播到在参数a'no location'广播中给出的类,否则如果将调用位置回调,它们将取消定时器并将'location found'广播发送到参数中的类。 所以这是我的问题:

  1. 我开始思考整体 这里的建筑是错误的,任何 更好的实施位置的方法 服务,以满足我的任何活动 申请?
  2. 我使用了Timer而不是Handler 我用的单音不是 活动所以我没有Looper了 用looper看起来创建一个线程 对我来说和创造一样糟糕 计时器的另一个线程... i 我想用这个活动 相反,但是......如果活动 暂停和恢复我需要保持 跟踪计时器的剩余时间。
  3. 广播也可能是 问题,因为如果活动暂停 它会错过广播然后 我需要跟踪我的 几个州之后的单身人士, StickyBroadcast可以解决它但是 那个我不能发送给具体的 但仅限于整个系统。
  4. 所以最终将这个类变成服务会有什么好处吗?(说实话我想的可能只有一个优点但并不多)我想要一个超时的位置服务,就像google在地图中的“我的位置”一样

    10倍。

1 个答案:

答案 0 :(得分:0)

LocationListener中所述,使用Requesting Location Updates不是更好吗?

然后,您可以在onResume()

中使用“FastFix”

如果不了解您的要求,就很难提出更具体的建议。

希望这有帮助,

Phil Lello