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

C# Discussion :

Filtrage SMS multiple


Sujet :

C#

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Filtrage SMS multiple
    Bonjour,
    Je développe actuellement une application qui a pour objectif de filtrer tous les SMS entrant et est destinée à être installée sur des terminaux professionnels.
    Cependant, il s'avère que ces PDAs reçoivent souvent des SMS publicitaires qui n'ont pas lieu d'être ; par contre, ils sont succeptibles de recevoir 2 types de messages importants : des SMS métiers qui doivent apparaitrent sur un formulaire créé à cet effet et des SMS télédis qui doivent être captés par une application tierce (en fait, je dois simplement les laisser passer).
    Tous les SMS sont automatiquement effacés, je ne conserve aucun historique.
    Sur le principe, je crée 2 types de filtres :
    - 1 qui laisse passer tous les messages (de type NotifyAndDelete), que je "refiltre" pour n'afficher sur le formulaire que les SMS métier et...
    - 1 de type Notify qui est sensé laisser passer les SMS télédis sans y toucher.
    Mon souci est que j'arrive à filtrer les SMS métier et de les afficher sur un formulaire spécifique, mais les SMS télédis ne sont pas pris en compte, j'ai l'impression qu'ils passent par le premier filtre qui consiste à les supprimer...
    Un dessin vallant mieux qu'un long discourt, ci joint mon bout de prog :
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2012
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 87
    Points : 179
    Points
    179
    Par défaut
    Hello mr100kv,

    Ah les messages du type "Elodie vous a laissé un message veuillez rappellez le 08 69 69 69 69 0.24ct puis 12.5 euro la minute" je les connais bien aussi ^^

    Plus sérieusement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                         //Création du filtre se chargeant de tous les messages qui ne concernent ni le projet, ni MediaContact donc, les msg publicitaires et autres...
                        for (int h = 0; h < ManipulationFichiers.intNbreMotsClefsMediaContact; h++)
                        {
                            intCptmi = intCptmi + 1;
                            _mi[h] = new MessageInterceptor(InterceptionAction.NotifyAndDelete, false);
                            _mi[h].MessageCondition = new MessageCondition(MessageProperty.Body,
                                                                           MessagePropertyComparisonType.NotEqual,
                                                                           "",
                                                                           true);
                            _mi[h].MessageReceived += new MessageInterceptorEventHandler(SmsInterceptor_MessageReceived_OnThread);
                        }
    J'ai du mal saisir cette partie là.
    Si j'ai bien compris tu crée n fois le même messageCondition consistant à faire un notify and delete sur tous les messages pour lesquels body différent de "" soit, tous les messages entrants (y compris tes SMS télédis, projet etc...).

    En fait, si je me trompe pas je crois que ta première idée était de simuler un MessagePropertyComparisonType.NotContains qui n'est pas natif non?

    De mémoire, mais je ne le garantis pas car j'ai plus la source, si tu crée plusieurs SMSinterceptor, ils sont exécutés par ordre alphabétique.
    Donc au pire ce que tu peux tester ce de créer les messageinterceptor Notify de tes SMS télédis _mia[n] n correspondant à ton nombre de mot clé télédis.
    Puis de créer le messageinterceptor notifyanddelete pour les SMS pub + projet (_mib), qui correspondront à ce qui n'as pas été intercepté par les _mia (c'est là qu'il faut tester, je garanti rien)

    Ou autre solution possible suivant le cas :
    Tes SMS télédis et Projet, comment sont'ils envoyés? Par qui?
    Si ces SMS sont envoyés par des numéros uniques (ou une liste restreintes et connues) il est toujours possible de mettre les messageCondition du SMS Interceptor sur le MessageProperty.Sender plutot que sur MessageProperty.Body.

    Cordialement,
    Mvk

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Salut MvK0610,

    Merci pour ta réponse et effectivement, très bonne analyse de la situation malgrès une erreur dans mon prog (que j'avais rectifié entre temps car beaucoup de tests évidemment...).
    Sur le principe, tu avais raison au niveau de la condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    _mi[h].MessageCondition = new MessageCondition(MessageProperty.Body,
                                                                           MessagePropertyComparisonType.NotEqual,
                                                                           "",
                                                                           true);
    à la place des caractères "", j'avais mis une liste contenant les mots clefs télédis...

    En fait, j'avais constitué 2 filtres :
    1 Notify pour laisser passer les filtres télédis et
    1 autre NotifyandDelete pour tous les autres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    _mi[h].MessageCondition = new MessageCondition(MessageProperty.Body,
                                                                           MessagePropertyComparisonType.NotEqual,
                                                                           ListeDeMotsClefsTeledis[i],
                                                                           true);
    Or, les SMS passaient systématiquement dans les 2 filtres jusqu'à être supprimé par le Delete !
    Au passage, il n'y a pas de condition "MessagePropertyComparisonType.NotContains" en .NETCF3.5, c'est justement ce qu'il me manquait !
    Sinon, j'ai trouvé une solution de contournement ou finalement je laisse passer tous les SMS en NotifyAndDelete, et je les filtre ensuite dans une autre fonction...
    Je suis encore en train de finaliser le prog, je te le ferai parvenir à l'issue pour information suite à ton implication.
    Je te remercie encore pour ton analyse,
    Cordialement,

Discussions similaires

  1. envoi sms multiple
    Par bounasri dans le forum Android
    Réponses: 2
    Dernier message: 09/06/2011, 15h44
  2. Filtrage Kalman, multiplication matrice
    Par kronanberg dans le forum Signal
    Réponses: 1
    Dernier message: 13/05/2011, 16h14
  3. filtrage sms sur android
    Par ulquiorra dans le forum Android
    Réponses: 3
    Dernier message: 07/04/2010, 10h16
  4. Solutions filtrages multiples
    Par Invité dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/01/2008, 19h25
  5. Filtrage à critère multiple (aide sur la syntaxe)
    Par Amiral19 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/06/2007, 11h13

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