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 :

Quitter complètement l'application


Sujet :

Android

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Points : 40
    Points
    40
    Par défaut Quitter complètement l'application
    Bonjour,

    Je suis en train de développer une application Android qui fait appel à des web webservice sur lesquels il faut s'identifier en OAuth2. Pour éviter d'avoir à chaque lancement à se connecter j'utilise un refresh_token pour se connecter automatiquement, ce refresh_token est stocké dans les SharedPreferences.

    Jusque là tout va bien, j'aimerai maintenant faire un bouton de déconnexion qui enlève le refresh_token et quitte complètement l'application, ce bouton fait appel à la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static void disconnect(Context context){
            SharedPreferences pref          = context.getSharedPreferences("PassWayPref", 0);
            SharedPreferences.Editor editor = pref.edit();
            editor.remove("refresh_token");
            editor.commit();
     
            //System.exit(0);
            android.os.Process.killProcess(android.os.Process.myPid());
        }
    Il enlève bien mon refresh_token de mes SharedPreference mais il ne quitte pas l'application, il se contente de kill l'activité en cours or moi j'aimerai tout quitter...

    J'ai essayé plusieurs choses que j'ai trouvé sur le net mais à chaque fois il se contente de simplement kill l'activité en cours :

    finish();

    System.exit(0);

    android.os.Process.killProcess(android.os.Process.myPid());

    Avez-vous une idée de comment je pourrais faire s'il vous plait ?

    Merci d'avance,

    Jonathan

  2. #2
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    Bonjour,

    Tu dit avoir essayé le killProcess et le system.exit mais as tu essayé dans l'ordre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    android.os.Process.killProcess(android.os.Process.myPid());
    System.exit(0);
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  3. #3
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Laisse le système et l'utilisateur décider pour la destruction de ton application.
    Shoot simplement ton token à la déconnexion.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Points : 40
    Points
    40
    Par défaut
    @Baksh0

    Oui je viens de tester ça ne change rien, ils e contente de kill l'activité en cours et retourne sur la précédente

    @Hizin

    Ca serait bizarre que l'utilisateur clique sur déconnexion et qu'il reste sur l'application, non ? En plus, il verra l'interface et plus rien ne marchera vu qu'il n'est plus connecté au web service

  5. #5
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Non.
    Il reviendra sur la page d'authentification, simplement. S'il s'authentifie en OAuth2, il doit y avoir une vue d'authent', pour savoir avec quel service celui-ci désir se connecter, non ? Facebook, Google ou Twitter pour ne citer qu'eux.
    Si tu n'as pas de page d'authent et que tu n'as qu'un seul service pour l'OAuth2... c'est compréhensible. Un finish de l'activity n'est pas possible ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  6. #6
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    Citation Envoyé par Hizin Voir le message
    Il reviendra sur la page d'authentification, simplement.
    Il est vrai que cette solution est beaucoup plus adapté, et laisser ensuite le soin à l'utilisateur de fermer l'app par lui-même, au final c'est le cas de la plupart des applications.
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Points : 40
    Points
    40
    Par défaut
    Ouaip, je pense partir sur ça du coup, le rediriger vers la page d'authentification mais du coup si je fais un nouvel Intent avec l'authentification, si il appuie sur le bouton retour il aura derrière toutes les autres activités c'est embêtant, non ?

    Désolé, je commence à peine le développement Android et je suis légèrement perdu :/

  8. #8
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Pas de souci
    C'est l'utilité des forums d'entraides (entre autre) : partager, apprendre et se débloquer.

    Ajoute les flags Intent.FLAG_ACTIVITY_CLEAR_TOP & Intent.FLAG_ACTIVITY_NEW_TASK sur ton intent routant vers l'Activity d'authent. Ca devrait répondre à ton besoin.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Points : 40
    Points
    40
    Par défaut
    Ca va kill toutes les activités en dessous dans la pile des activités ? Génial c'est exactement ce dont j'avais besoin ! Je vais tester ça


    Merci beaucoup pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible de quitter directement une application!
    Par Jayme65 dans le forum VB.NET
    Réponses: 2
    Dernier message: 15/11/2012, 15h54
  2. Quitter une autre application
    Par Julien42 dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/05/2011, 05h45
  3. [XL-2000] pour quitter proprement une application
    Par cobra38 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/12/2010, 17h31
  4. Quitter rapidement une application.
    Par HASSIOMAR dans le forum Bases de données
    Réponses: 4
    Dernier message: 14/11/2010, 16h30
  5. Quitter proprement une application ?
    Par MaelstroeM dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/11/2008, 12h40

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