【发布时间】:2012-03-27 10:59:12
【问题描述】:
我正在尝试搜索用户的位置,我的问题是我想按时间限制时间搜索。也就是说,如果十秒左右后没有找到足够好的位置,则返回在那之前找到的最佳位置。
我有一个激活位置监听器的异步任务。我正在尝试使用android.os.Process.getElapsedCpuTime() 来限制时间,但它仅在我从我的位置侦听器获得的位置在设定的时间之后到达时才有效。
我想要做的是继续运行时间,无论位置侦听器如何。我该怎么做?
【问题讨论】:
我正在尝试搜索用户的位置,我的问题是我想按时间限制时间搜索。也就是说,如果十秒左右后没有找到足够好的位置,则返回在那之前找到的最佳位置。
我有一个激活位置监听器的异步任务。我正在尝试使用android.os.Process.getElapsedCpuTime() 来限制时间,但它仅在我从我的位置侦听器获得的位置在设定的时间之后到达时才有效。
我想要做的是继续运行时间,无论位置侦听器如何。我该怎么做?
【问题讨论】:
为什么你不能运行一个 Timer (Java.util.Timer),你可以在其中创建一个 TimerTask。通过安排 10 秒的时间间隔同时启动 AsyncTask 和 Timer。然后在 10 秒后检查异步任务的状态。如果它仍处于 RUNNING 或 PENDING 状态,则取消异步任务。我认为这会对您有所帮助。
【讨论】: