Android relance de Minuteries après ils sont annulées

J'ai une minuterie dans mon application qui lance une AsyncTask toutes les 15 secondes.

Timer timer = new Timer();

public void AsynchTaskTimer() {
    final Handler handler = new Handler();

    TimerTask timertask = new TimerTask() {
        @Override
        public void run() {
            handler.post(new Runnable() {
                public void run() {
                    try {
                        new updateGPSTask().execute();
                    } catch (Exception e) {
                        //TODO Auto-generated catch block
                    }
                }
            });
        }
    };
    timer.schedule(timertask, 0, 15000); //execute in every 15sec
}

C'est lancé à partir de la onCreate() méthode.

Lorsque j'appelle une autre activité que j'ai besoin d'annuler cette minuterie, que j'ai fait à l'aide de timer.cancel() sur mon onPause() méthode dans mon Activité Principale.

Maintenant quand je retourne à l'Activité Principale, j'ai besoin de redémarrer la minuterie. J'ai essayé de relancer le AsynchTaskTimer() dans le onRestart() méthode, mais j'obtiens un java.lang.IllegalStateException: Timer was canceled.

Comment puis-je redémarrer mon timer?

  • réglez la minuterie comme nulle dans onpause et reinsiate comme timer = new Timer(); et de le lancer comme l'ancien haché objet a été annulé, il ne peut pas être redémarré à moins relancé un nouveau
  • pourquoi êtes-vous à l'aide de gestionnaire et de la minuterie ensemble ?
InformationsquelleAutor pteixeira | 2013-03-28