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 :

Comment fermer proprement une application avec map


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 278
    Points : 63
    Points
    63
    Par défaut Comment fermer proprement une application avec map
    Bonjour,
    Sur mon appli j'ai un fragment avec une map.Lorsque je ferme l'appli en étant sur ce fragment elle plante.
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    7510-7510/com.cours.alex.tp_reseaux E/AndroidRuntime﹕ FATAL EXCEPTION: main
        Process: com.cours.alex.tp_reseaux, PID: 7510
        java.lang.RuntimeException: Unable to destroy activity {com.cours.alex.tp_reseaux/com.cours.alex.tp_reseaux.MainActivity}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
                at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3671)
                at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3689)
                at android.app.ActivityThread.access$1400(ActivityThread.java:144)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1332)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:135)
                at android.app.ActivityThread.main(ActivityThread.java:5221)
                at java.lang.reflect.Method.invoke(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:372)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
         Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
                at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1328)
                at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1346)
                at android.app.BackStackRecord.commitInternal(BackStackRecord.java:728)
                at android.app.BackStackRecord.commit(BackStackRecord.java:704)
                at com.cours.alex.tp_reseaux.Fragment_reception.onDestroyView(Fragment_reception.java:69)
                at android.app.Fragment.performDestroyView(Fragment.java:2251)
                at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:958)
                at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
                at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1049)
                at android.app.FragmentManagerImpl.dispatchDestroy(FragmentManager.java:1897)
                at android.app.Activity.performDestroy(Activity.java:6111)
                at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1140)
                at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3658)
    ************at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3689)
    ************at android.app.ActivityThread.access$1400(ActivityThread.java:144)
    ************at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1332)
    ************at android.os.Handler.dispatchMessage(Handler.java:102)
    ************at android.os.Looper.loop(Looper.java:135)
    ************at android.app.ActivityThread.main(ActivityThread.java:5221)
    ************at java.lang.reflect.Method.invoke(Native Method)
    ************at java.lang.reflect.Method.invoke(Method.java:372)
    ************at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    ************at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
    Comment fermer proprement l'appli?
    De plus question qui n'a rien a voir, comment verifier si un service est déja lancé lorsqu'on ouvre l'appli ?
    Dans mon cas, le service recoit des coordonnées gps qu'il ajoute dans une arrayList, si on ferme et rouvre l'appli, cette arrayList se vide ce que je veux pas (Genre d'historique)
    Autre question qui n'a rien a voir: Comment revenir au fragment précédent avec le bouton back du telephone? Moi ca me ferme l'appli direct donc je l ai desactivé !

    Merci !!

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Je pense qu'il y a un appel là dedans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    at com.cours.alex.tp_reseaux.Fragment_reception.onDestroyView(Fragment_reception.java:69)
    Qui ne devrait pas y être...
    Faudrait voir le code.


    Pour le bouton back, c'est géré automatiquement tant qu'on demande bien au FragmentManager d'empiler avec historique.
    Quand tu parles de désactiver... j'espère que tu ne parle pas du bouton back ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 278
    Points : 63
    Points
    63
    Par défaut
    J'ai ca dans mon onDestroyView:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public void onDestroyView(){
            super.onDestroyView();
            MapFragment f = (MapFragment) getFragmentManager()
                    .findFragmentById(R.id.map);
            if(f != null){
                getFragmentManager().beginTransaction().remove(f).commit();
            }
     
        }

    Si si .... lol. J'ai tellement le reflexe d'appuyer sur ce bouton pour revenir au précédent et que chez moi ca quittait l'appli que je l'ai desactiver le temps de m'occuper de chose plus importante.



    EDIT: c'est bon pour le bouton back j'ai corrigé ça, merci

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    On ne peut pas utiliser le FragmentManager pendant que celui-ci est justement en train de détruire une View managée...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 278
    Points : 63
    Points
    63
    Par défaut
    Heu ouai mais si j'ai pas ce code, je peux plus sortir du fragment sans que l'appli plante.
    Et avec ce code ca plante si je ferme l'appli en étant sur le fragment ou il y a la map

Discussions similaires

  1. Réponses: 10
    Dernier message: 25/02/2014, 10h21
  2. Comment fermer proprement une instance d'Excel ouvert avec VB ?
    Par Teddy7 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/04/2012, 16h23
  3. Réponses: 0
    Dernier message: 10/09/2010, 17h30
  4. [C] Comment arreter proprement une application ?
    Par Hikage dans le forum Windows
    Réponses: 6
    Dernier message: 05/07/2006, 10h29
  5. [wxPython][wxFrame]Comment fermer proprement une frame ?
    Par Screameur dans le forum wxPython
    Réponses: 4
    Dernier message: 12/05/2005, 19h49

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