我在服务中有一个 AsyncTask,它获取 RSS 提要并将它们存储在 SQLiteDatabase 中。该服务从主 Activity 启动。我需要每隔 4 小时左右执行一次 AsyncTask 以提取 RSS 提要。我尝试使用 TimerTask 如下,但这似乎不起作用。后台任务只运行一次。关于如何最好地实施此方案/任何替代方案的任何想法?
public class FeedReader extends Service{
private void getFeedsRegularly() {
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
new BgTask().execute(feedURL);
}
});
}
}, 0, UPDATE_INTERVAL);
}
private class BgTask extends AsyncTask<...>
{...}
}