IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

[Android] Stopper un service et un AlarmReceiver


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut [Android] Stopper un service et un AlarmReceiver
    Bonjour,

    Après un petite recherche sur le net, je n'ai pas trouver de résolution a mon code.

    mon application, pour lancer mon service fait appel a un BroadCastReceiver,

    Afin que mon service tourne périodiquement.

    ma question est la suivante, comment stopper mon service et par la même occasion mon BroadCastReceiver..?

    mon code de mon activité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Intent myIntent = new Intent(this, AlarmReceiver.class);
            PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, myIntent, 0);
            AlarmManager alarmManager = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(System.currentTimeMillis());
            calendar.add(Calendar.MINUTE,1);//one minute for launching service
            //alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, 6000, pendingIntent);
            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
                    6000, pendingIntent);
    et aussi mon BroadCastReceiver qui fait de nouveau appel au même BroadCastReceiver:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    public class AlarmReceiver extends WakefulBroadcastReceiver {
     
        @Override
        public void onReceive(final Context context, Intent intent) {
     
            Intent myIntent = new Intent(context, AlarmReceiver.class);
            PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, myIntent, 0);
            AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(System.currentTimeMillis());
            calendar.add(Calendar.MINUTE,1);//Fiveteen minutes to send a event BroadcastReceiver
            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
                    6000, pendingIntent);
            Intent background = new Intent(context, MyServiceTask.class);
            context.startService(background);
        }
    }
    Du coup je voudrait avec un switch stopper ou lancer mon service:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    stopMyServiceTask.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
     
                @Override
                public void onCheckedChanged(CompoundButton buttonView,
                                             boolean isChecked) {
     
                    if(isChecked){
                        startAlarmManager();
     
                    }else{
                        stopAlarmManager();
                    }
     
                }
            });
    Merci pour vos réaction

  2. #2
    Nouveau membre du Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 31
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    Peut-être maintenant vous avez peu trouvé une solution à votre problème, mais si ce n'est pas encore fait vous devrait indiquer à votre service de s’arrêter soit avec stopService(Intent) si vous arrêtez votre service à partir d'une autre classe ou avec stopSelf() si vous le faite à l'intérieur de votre classe service.

Discussions similaires

  1. Android et Web service JAVA
    Par diengsallah dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 17/05/2013, 15h18
  2. android et web service
    Par altair8080 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 10/12/2009, 18h30
  3. Impossible de stopper le service MSSQLSERVER
    Par romain1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/10/2008, 18h20
  4. Démarrer / stopper un service avec le shell
    Par ulquiorra dans le forum C#
    Réponses: 2
    Dernier message: 19/06/2008, 21h26
  5. Démarrer / Stopper des services sur un PC distant
    Par El-Diablo- dans le forum C++Builder
    Réponses: 1
    Dernier message: 30/05/2008, 21h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo