gpt4 book ai didi

android - 在 android 服务的单独线程中运行位置更新

转载 作者:行者123 更新时间:2023-11-29 02:07:03 24 4
gpt4 key购买 nike

我在决定应该如何执行我的后台服务任务时感到有些困惑。以下是我的服务的样子。

Android服务(后台有两个任务)

  1. 注册 locationListener 并在收到新位置时处理它以确定是否是最佳位置。

  2. 每 10 分钟轮询一次服务器,以检查是否有任何服务器端对远程数据库进行了更改。

现在我不希望这两个任务争夺时间和资源。所以我打算同时运行这两个。对于轮询服务器,我正在使用重复的 timerTask 但是对于 LocationListener 我应该使用什么?

是否可以使用 java runnable 以某种逻辑处理新位置并将位置更新到服务器?如果我的想法没问题,请提供一些示例代码来说明如何在新线程中执行位置更新。

如果您认为我目前的想法有任何问题,请针对我的要求提出一些新的建议。

最佳答案

我什么也没看到,这表明您不能在文档中注册在您的服务中运行的 LocationListener: http://developer.android.com/reference/android/location/LocationListener.html http://developer.android.com/guide/topics/location/obtaining-user-location.html

这是一个有答案的类似问题,您应该阅读它: Android service with locationListener callbacks

“现在我不希望这两个任务争时间和资源。所以我打算同时运行这两个任务。”^ 含糊不清的陈述之后是一个看似违反直觉的计划。如果您能具体说明“时间”和“资源”的含义,那么您可能会得到一些有用的反馈。

简答:是的。注册一个 LocationListener,它会在 Location 更新可用时被调用。它是一个 LISTENER,因为无论您将它注册到什么地方,它都会在需要时被调用——您不需要自己调用它。最佳做法是不要在 TimerTask 上重复,而是使用由每次 tick 调用的代码重置的单发。

至于免费代码,也许您应该聘请某人为您完成繁重的工作?它将在 Android 社​​区中创造另一份工作,并减轻您尝试您不熟悉的事情所涉及的风险。否则,亲自动手并尝试以您认为最有效的方式实现它,回到Stack Overflow 如果/当您遇到特定问题时。

关于android - 在 android 服务的单独线程中运行位置更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9440833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com