您好 我需要在(比方说)10分钟后创建一个在新线程中运行一段代码的服务。我怎样才能做到这一点?我已准备好服务,但我似乎不明白如何(如果)从线程内调用计时器。任何人都可以帮忙吗?
答案 0 :(得分:2)
在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);
答案 1 :(得分:1)
最简单的方法是创建新的Handler。你得到新的线程,你可以在10分钟后执行在Runnable handleMyAction
中定义的代码:
mMessageHandler.postDelayed(handleMyAction, 1000*600);
答案 2 :(得分:1)
你不应该依赖计时器。您可以在这10分钟内杀死您的服务,并且计时器将被销毁。可靠的方法是使用AlarmManager Frequently updating widgets (more frequently than what updatePeriodMillis allows)