2
我有一個服務中的AsyncTask獲取RSS提要並將它們存儲在SQLiteDatabase中。該服務從主Activity啓動。我需要每隔4個小時左右執行一次AsyncTask來執行RSS提要。我嘗試使用下面的TimerTask,但這似乎並沒有工作。後臺任務只運行一次。關於如何最好地實施這種情況/任何替代方案的任何想法?Android:如何計劃後臺服務重複運行
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<...>
{...}
}
謝謝拉格哈夫會嘗試一下。還有一件事,如果我的FeedReader類在這種情況下擴展了「Service」或「IntentService」,它會有什麼不同嗎?任何一種方法的優點? – user1650281
我對Service和IntentService不太熟悉,但我認爲IntentService在這種情況下會更好,因爲它專門用於與Intents一起使用。 –