Comment faire pour démarrer/arrêter l'Exécutable/Gestionnaire?

Je suis d'essayer de maintenir des bases de données synchronisées entre un Service web et l'application Android.
Le code ci-dessous fonctionne, mais je rencontre quelques problèmes:

  • Chaque fois que je vais à la page principale de l'Application d'une nouvelle infinie processus est lancé.
  • Le processus ne se termine jamais

Quelqu'un peut-il expliquer comment démarrer et arrêter ce processus comme je le souhaite?

Je veux que ce processus pour exécuter toutes les 5 minutes, mais une seule fois, et lorsque l'application est ouverte.

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();
}
  • utilisation removeCallback. developer.android.com/reference/android/os/...
  • vous pouvez arrêter de Gestionnaire à l'aide de ce gestionnaire.removeCallbacks();
  • mais j'ai besoin d'arrêter de onDestroy
  • Et où est le problème pour appeler handler.removeCallbacks() dans onDestroy?
InformationsquelleAutor Zartch | 2012-05-15