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

Composants graphiques Android Discussion :

Bouton pour fermer l'application


Sujet :

Composants graphiques Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Points : 20
    Points
    20
    Par défaut Bouton pour fermer l'application
    Hello tout le monde,
    Je ne trouve pas grand chose pour quitter l'application excepté la fonction finish().
    Mon problème est que j'ai plusieurs activity qui tournent parfois en même temps. Le finish ne ferme que celle qui a le focus, c'est donc gênant car j'ai pas de bouton pour faire quitter l'application d'un coup à l'utilisateur.
    Faut-il utiliser des évènements pour lancer un event lors de l'appuie sur le bouton quitter ? y'a t'il une simple fonction qui ferait l'affaire ?

    Merci d'avance,
    Arsène

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    Ah c'est bon j'ai trouvé un truc mais je sais pas si c'est très propre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); 
    ComponentName componentInfo = taskInfo.get(0).topActivity;
    am.restartPackage(componentInfo.getPackageName());

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    Bon ba ça marche dans l'émulateur mais pas sur mon mobile. Ca doit être des problèmes de sécurité.

  4. #4
    Membre habitué Avatar de eric-m
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 62
    Points : 145
    Points
    145
    Par défaut
    Effectivement l'appel de finish() ne ferme pas l'application, mais seulement l'activity.
    Quitter une application, n'est pas trop dans la philosophie d'android, c'est le systeme qui gère l'arrêt des applications.

    Il est possible de passer une application en arrière plan en appuyant sur la touche home qui ramène sur le bureau.

    On peut simuler l'appuie de cette touche par le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     Intent intent = new Intent();
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    this.startActivity(intent);

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    Hello,
    J'ai essayé une autre technique avec les startActivityForResult, suivant la valeur de retour j'y faisait un finish() ou pas. Mais bon j'ai pas vraiment réussi xD
    Pour l'instant je prends ta solution donc merci

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 106
    Points : 77
    Points
    77
    Par défaut
    Si tu veux "quitter" l'application, il faut vider la pile des activités de ton application. Tu as une activité qui est lancé en premier. A partir de celle ci, tu ouvres d'autres activités et tout cela forme une pile. Si tu gère bien ta pile, lorsque tu reviens sur ton premier écran et que tu fais un finish, toutes les activités de ton application sont fermées.

    Pour parvenir à bien gérer la pile, il faut utiliser les flags (http://developer.android.com/referen...OUGHT_TO_FRONT). Par exemple, tu peux lancer ton activité principale avec le flag FLAG_ACTIVITY_CLEAR_TOP qui va vider toutes les activités sur la pile et tu fermes cette dernière. Après cela dépend de comment tu gères tes activités. Dans la plupart de mes applications, je ne surcharge jamais le onPressedBackButton() afin de laisser "Android" gérer ma pile.

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

Discussions similaires

  1. bouton pour fermer un état
    Par Daniela dans le forum IHM
    Réponses: 9
    Dernier message: 16/06/2009, 05h45
  2. LYTEBOX bouton pour fermer
    Par Stephane_br dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/04/2009, 15h38
  3. programmer un bouton pour fermer Excel
    Par lio911_lio dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/09/2008, 22h03
  4. Menu pour fermer une application[BCB6]
    Par Draner dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/07/2007, 00h49
  5. MainForm en bsNone et WM_CLOSE pour fermer l'application
    Par olipop dans le forum C++Builder
    Réponses: 1
    Dernier message: 20/06/2007, 21h25

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