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 une activité


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Par défaut comment fermer une activité
    Bonjour,

    J'ai un problème bizarre, quand je recois une notification et quand je clique, je lance une activité qui affiche le detail des informations de cette notification, un truc très simple,
    jusque la tout va bien, j'ai un bouton OK pour fermer mon activité et revenir au système, il fait bien l'action de fermer, mais mon activité disparait, mais elle reste toujours en arrière plan.

    cela se passe uniquement quand l'application n'est pas ouverte la notification FCM mise en attente en arrière plan, si l'application est lancee, je n'ai pas de problème, mais la notification n'est pas traitée de la même façon, le onMessageReceived() du service renotify localement.

    j'ai utilisé, finish finishAffiinty(), killprocess,System.exit(0), elle s'execute mais la tâche est toujours là, je peux meme relancer le kill plusieurs fois.

    Je ne peux qu'utiliser l'icone systeme de fermeture de la fenetre. et la elle disparait. je n'arrive pas à lui dire de fermer et de quitter.

    J'ai pensé au problème des flag quand l'activité est lancé par la notification, j'ai mis en commentaire tout mon appli

    ca reste relativement classique j'ai essayé les flags new task et clear task


    Mon activity dans le manifest android avec tous les flags nécessaire equivalent( "singleTop" FLAG_ACTIVITY_SINGLE_TOP, "noHistoyr" .FLAG_ACTIVITY_CLEAR_TOP ),
    Dans le cas que la notification arrive alors que l'application n'est past ouverte, mais ca n'a pas d'effet au premier abord.

    <activity android:name=".activity.XXX" android:label="XXX"
    android:launchMode="singleTop" android:noHistory="true" android:clearTaskOnLaunch="true">


    notification locale par mon service quand le message arrive de FCM (firebaes cloud messaging) dans mon application en cours d'execution. (fonctionne parfaitement dans ce cas d'usage)
    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
     
    Intent intent = new Intent(this, NotificationRmScActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
                    Intent.FLAG_ACTIVITY_SINGLE_TOP);
            intent.setAction(DETECTOR_REPORT);
            intent.addCategory(Intent.CATEGORY_DEFAULT);
     
            PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
                    PendingIntent.FLAG_UPDATE_CURRENT);
     
            Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
            Notification.Builder notificationBuilder = new Notification.Builder(this)
                    .setContentTitle(messageTitle)
                    .setContentText(messageBody)
                    .setAutoCancel(true)
                    .setSound(defaultSoundUri)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setContentIntent(pendingIntent);
     
     
            NotificationManager notificationManager =
                    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
     
            notificationManager.notify(1 /* ID of notification */, notificationBuilder.build());
    Je sêche un peu et je suis à cours d'idée, sur un truc que je pensais pas bloquer.

    Merci pour vos avis et vos liens

    Je continu à chercher

    cdt
    JP

  2. #2
    Membre très actif Avatar de jmonga
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2014
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 175
    Par défaut
    Essaie de mettre un point de repère dans le callback cela te permet de voir le cycle de vie de ton activité, alors place un Log.d()


  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Par défaut
    Bonjour,

    Merci pour la réponse

    Normalement, on ne ferme pas une activity, finish est l'equivalent d'un back, l'activity est lancé par la notification, si mon appli est présente, tout va bien, si l'appli est absente l'activity reste bloquée sur elle même,
    elle ne sait plus ou aller.

    pour l'instant j'ai contourné le problème, en faisant un finish et un start activity de mon main menu. l'utilisateur fermera l'appli legalement par le système des tâches, ca marche très bien, mon activity est fermé
    et j'ai basculé sur mon menu principal.

    Si je trouve mieux, je reviendrai

    cdt

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

Discussions similaires

  1. comment fermer une fenetre enfant
    Par stefane1981 dans le forum MFC
    Réponses: 12
    Dernier message: 20/10/2005, 11h32
  2. Comment fermer une fenêtre enfant MDI ?
    Par DeveloMagaly dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2005, 13h10
  3. Comment fermer une Fenetre Modal avec Code ?
    Par Soulama dans le forum Langage
    Réponses: 19
    Dernier message: 13/07/2005, 11h17
  4. Comment fermer une fenêtre quand la souris et clavier sont inactifs ?
    Par Goldenkiller dans le forum Composants VCL
    Réponses: 7
    Dernier message: 06/12/2004, 22h09
  5. [WNetAddConnection2] Comment fermer une connection ?
    Par souch dans le forum Web & réseau
    Réponses: 3
    Dernier message: 21/10/2004, 14h41

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