RSS フィードを取得して SQLiteDatabase に保存する Service に AsyncTask があります。サービスはメインのアクティビティから開始されます。RSSフィードを取得するには、4時間ごとにAsyncTaskを実行する必要があります。以下のように TimerTask を使用してみましたが、うまくいかないようです。バックグラウンド タスクは 1 回だけ実行されます。このシナリオ/代替手段を最適に実装する方法についてのアイデアはありますか?
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<...>
{...}
}