Ответ 1
Я предпочитаю использовать ScheduledThreadPoolExecutor. Как правило, если я правильно понимаю ваши требования, все это может быть реализовано в вашей деятельности, TimerTask и Handler не нужны, см. Пример кода ниже:
public class MyActivity extends Activity {
private ScheduledExecutorService scheduleTaskExecutor;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
scheduleTaskExecutor= Executors.newScheduledThreadPool(5);
// This schedule a task to run every 10 minutes:
scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() {
public void run() {
// Parsing RSS feed:
myFeedParser.doSomething();
// If you need update UI, simply do this:
runOnUiThread(new Runnable() {
public void run() {
// update your UI component here.
myTextView.setText("refreshed");
}
});
}
}, 0, 10, TimeUnit.MINUTES);
} // end of onCreate()
}
Не забудьте закончить/закрыть свою выполнимую задачу должным образом в Activity.onDestroy(), надеюсь, что помощь.