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 :

Détecter la présence à l'écran d'une activité


Sujet :

Android

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Détecter la présence à l'écran d'une activité
    Bonjour à tous, je suis en train de me faire une petite application pour apprendre un peu les ficelles de la programmation android et je bloque un peu sur un problème:

    J'ai une activité qu'on va appeler News qui est lancée à partir de l'activité principale.
    Parallèlement, les news étant envoyées par Gcm, l'activité News est également lancée lorsque l'utilisateur clique sur la notification.

    Le problème qui se présente est que si l'utilisateur se trouve dans l'activité News et qu'une notification arrive et qu'il clique sur celle-ci, cela à pour effet de lancer un 2ème instance de l'activité News

    Ce que je voudrais faire:
    J'ai un Brodcast Receiver (dont je vous met le code ci-dessous) qui se déclenche à l'arrivée de la notification et qui enregistre le contenu de la notification dans une base de donnée, j'aimerais que celui-ci puisse détecter si l'activité News est active, et si c'est le cas, forcer le rafraîchissement de l'activité et l'effacement de la notification.

    PS: Je m'excuse d'avance si ma question est stupide mais je débute en programmation android et certains concepts m'échappent encore.

    Merci d'avance

    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
    39
    40
    41
    42
    public class NotificationReceiver extends BroadcastReceiver{
     
        private static final String TAG = "NotificationReceiver";
     
     
        @Override
        public void onReceive(Context context, Intent intent) {
            String data = null;
            // récupération et formatage de la date courante
            Calendar calObj = Calendar.getInstance();
            SimpleDateFormat date = new SimpleDateFormat("dd/MM/yyyy");
            String strDate = date.format(calObj.getTime());
            // Déclaration du hndler de la base de donnée
            dbNewsDo dbNewsHandler;
            // Création d'un objet dbNews
            dbNews maNews = new dbNews();
     
            // récupération du handler de la base et ouverture de la base
            dbNewsHandler = new dbNewsDo(context);
            dbNewsHandler.open();
     
            try {
                JSONObject jObj = new JSONObject(intent.getExtras().getString("data"));
                data = jObj.getString("alert");
            } catch (JSONException e) {
                e.printStackTrace();
            }
     
            // On insère la date
            maNews.setDate(strDate);
            // on insère le texte
            maNews.setMessage(data);
     
            // on enregistre dans la base de donnée
            dbNewsHandler.insertNews(maNews);
     
     
            // On referme la base de donnée
            dbNewsHandler.close();
     
        }
    }

  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 ne me souviens plus exactement du nom... mais il y a une option (dans le manifest) pour déclarer l'activité comme "unique". Une seule instance existera.
    Dans ce cas la fonction "onNewIntent" de l'activité sera appelée.

    EDIT: Ben voilà.... tout est expliqué là: http://developer.android.com/referen...ontent.Intent)
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:launchMode="singleTop"
    Voilà, merci

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

Discussions similaires

  1. regexp pour détecter la présence de caractrères dans une cellule
    Par bastien dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/06/2013, 12h04
  2. Détecter une activité
    Par LordDaedalus dans le forum Android
    Réponses: 1
    Dernier message: 07/03/2011, 17h06
  3. Détecter la présence d'une webcam Flex AS3
    Par Kahlyv dans le forum Flex
    Réponses: 3
    Dernier message: 02/04/2009, 18h05
  4. détecter la présence d'une chaîne de caractères
    Par nadalator666 dans le forum Langage
    Réponses: 1
    Dernier message: 28/03/2007, 11h13
  5. Détecter la présence d'une fenêtre
    Par Invité dans le forum VBScript
    Réponses: 3
    Dernier message: 16/11/2006, 10h24

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