【发布时间】:2010-11-13 06:54:24
【问题描述】:
嗨 我需要创建一个服务,在(假设)10 分钟后在新线程中运行一段代码。我怎样才能做到这一点?我已经准备好服务,但我似乎不明白如何(如果)从线程内调用计时器。有人可以帮忙吗?
【问题讨论】:
标签: android
嗨 我需要创建一个服务,在(假设)10 分钟后在新线程中运行一段代码。我怎样才能做到这一点?我已经准备好服务,但我似乎不明白如何(如果)从线程内调用计时器。有人可以帮忙吗?
【问题讨论】:
标签: android
在 StackOverFlow 上进行了一些(更多)搜索后,我发现了一些对我有帮助的东西
final Handler handler = new Handler();
final Runnable r = new Runnable()
{
public void run()
{
// code here what ever is required
handler.postDelayed(this, 10*600);
}
};
handler.postDelayed(r, 10*600);
【讨论】:
最简单的方法是创建新的Handler。你得到一个新线程,你可以在 10 分钟后执行 Runnable handleMyAction 中定义的代码:
mMessageHandler.postDelayed(handleMyAction, 1000*600);
【讨论】:
您不应该依赖计时器。您的服务可能会在这 10 分钟内被终止,并且计时器将被销毁。可靠的方法是使用AlarmManager Frequently updating widgets (more frequently than what updatePeriodMillis allows)
【讨论】: