Как запустить/остановить Runnable/Handler?

Я пытаюсь поддерживать синхронизацию баз данных между веб-сервисом и приложением Android. Код ниже работает, но я столкнулся с некоторыми проблемами:

  • Каждый раз, когда я захожу на главную страницу приложения, запускается новый бесконечный процесс.
  • Процесс никогда не заканчивается

Кто-нибудь может объяснить, как запустить и остановить этот процесс по моему желанию?
Я хочу, чтобы этот процесс запускался каждые 5 минут, но только один раз и когда приложение открыто.

public void onCreate(Bundle savedInstanceState) {   
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final Handler handler = new Handler();
    final Runnable r = new Runnable() {
        public void run() {
            // DO WORK
            Mantenimiento();
            // Call function.
            handler.postDelayed(this, 1000000);
        }
    };
    r.run();
}
6
задан assylias 15 May 2012 в 13:00
поделиться