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 :

[service] debuger mon service


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    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
    Par défaut [service] debuger mon service
    Bonjour à tous,

    Je suis assez nouveau dans le dev Android.

    et je travail sur un service. J'ai le choix a utiliser startService(..) ou bindService(..).

    Une première question est laquelle de ces actions pour lancer un service dois-je utiliser?

    Ensuite mon service est lancer avec startService(..) pour le coup cela fonctionne assez bien.

    Donc comme je disait j'ai lancer mon service a partir de mon activité dans un AlarmManager.

    Et a un moment ou a un autre de doit stopper mon service .

    Je fait donc stopSelf() dans mon service.

    Mais mon activité est stopper également..

    Une solution a cela m'aiderait beaucoup.

    Je vous met le code:

    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);
    Ma routine pour lancer mon service (MyServiceTask):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    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,2);//Fiveteen minutes to send a event BroadcastReceiver
            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
                    6000, pendingIntent);
            PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
            Intent background = new Intent(context, MyServiceTask.class);
            context.startService(background);
    Et dans mon service a un moment je fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyServiceTask.this.stopSelf();
    Une petite aide .. Merci pour vos réactions.

  2. #2
    Membre éclairé
    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
    Par défaut [Update] Une souci résolu..
    J'ai relis mon code et j'ai trouvé le souci..

    dans mon onDestroy() de mon service
    j'ai fait un cancel de locationListener:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            lm.removeUpdates(this);
            lm = null;
    du coup si je fais un remove.. ca plante et je reviens vers mon activité précédente.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Pour ce qui est du start ou du bind :

    startService() est à utiliser pour un service autonome. Par exemple un téléchargement. On peut communiquer avec ce genre de service via des intents , mais la plus part du temps il se débrouille tout seul
    bindService() au contraire est à utiliser quand ton service n'est pas autonome , qu'il à besoin de beaucoup échanger avec une activité. La communication va se faire via un IBinder et un objet serviceConnection
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre éclairé
    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
    Par défaut [Service] Location Listener
    Bonjour Grunk,

    Merci pour ta réaction.

    Mon Service lui ne communique pas avec l'activité.
    C'est donc la première proposition qui est a utilisé.

    Pour killer le LocationListener je fais comment du coup?

    Merci

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    De quel location listener tu parles ? un qui se trouve dans ton service ?
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé
    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
    Par défaut [Service] Location Listener details
    oui, exactement.

    mon service implémente l'interface LocationListener et récupère la position de l'utilisateur.

    je stoppe mon service et du coup je voudrait stopper la localisation aussi..

    en dehors du fait que si je stoppe le service cela stoppe aussi la localisation?

    Merci.

Discussions similaires

  1. Envoyer un message WM_USER a mon service
    Par basnifo dans le forum Windows
    Réponses: 3
    Dernier message: 04/10/2006, 10h42
  2. Réponses: 11
    Dernier message: 11/05/2006, 09h05
  3. Mon service Windows ne marche pas
    Par laadhar dans le forum Langage
    Réponses: 9
    Dernier message: 01/02/2006, 18h13
  4. Problème avec mon service mysql et PhpMyAdmin
    Par Fixazo dans le forum Outils
    Réponses: 1
    Dernier message: 28/08/2005, 18h02
  5. [VB.NET] afficher les "Services" de mon serv
    Par sangokus dans le forum ASP.NET
    Réponses: 3
    Dernier message: 05/03/2004, 13h09

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