我要实现一个简单的应用程序用于测试目的,在后台运行一个始终运行的服务,每隔几秒轮询一次服务器。 我知道GCM,但在我的情况下,我无法使用,因为我在没有Internet连接的Intranet中。
所以我需要一些解释,哪些是最佳实践:如何实现服务每隔几秒做一次事情? AlarmManager?处理程序?
谢谢!
答案 0 :(得分:0)
这是一种重复做法的方法:
private ScheduledExecutorService exec;
private void startExec() {
shutDownExec();
exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleWithFixedDelay(new Runnable() {
@Override
public void run() {
// starts immediately and is run once every minute
}
}, 0, 1, TimeUnit.MINUTES);
}
private void shutDownExec() {
if (exec != null && !exec.isTerminated()) {
exec.shutdown();
}
}
当然可以包含在服务中,只要服务存在就可以运行。