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

Java ME Discussion :

echange MMS entre application via PushRegistry


Sujet :

Java ME

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Par défaut echange MMS entre application via PushRegistry
    Bonjour à tous,

    voilà, je suis en train de faire une application d'envoi de MMS qui utilise le mécanisme du PushRegistry.

    cette application est composée d'une partie qui gère l'emmision des MMS, et d'une autre qui est sensé recevoir tous les MMS envoyé par cette première partie.

    dans mon fichier JAD, j'ai mis la ligne suivante pour qu'une partie de mon application soit réveillé automatiquement lorsqu'un MMS arrive:
    MIDlet-Push-1: MMS://:ApplicationMMS, ApplicationMMS.Receiver, *

    J'obtiens un résultat bizzare:
    - Lorsque j'envoie un MMS sur le même téléphone, cela réveil l'application comme je le souhaite,
    - Lorsque j'envoie un MMS sur un autre téléphone, l'application n'est pas réveillé, et le MMS passe par la messagerie classique.

    ça fait déjà un petit moment que je me casse la tête sur ce problème et que je ne trouve ni d'explication, ni de solution.

    Avez vous une idée sur la question, ou un morceau de code permettant d'envoyer des MMS qui marche sur de vrais téléphone (parce que l'exemple WMADemo fournit dans le WTK marche bien sur émulateur mais pose le même problème lorsqu'on l'installe sur de vrai téléphone).

    Merci

  2. #2
    Membre expérimenté
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Par défaut
    hey,
    voila un simple code qui implement Messagelistener Interface ca envoie des sms, mais ca ne devrais pas tres different pour les mms, ca marche sur BlackBerry devices.

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
     
     // Sample message listener program.
     import java.io.IOException;
     import javax.microedition.midlet.*;
     import javax.microedition.io.*;
     import javax.wireless.messaging.*;
     public class Example extends MIDlet implements MessageListener {
     MessageConnection messconn;
     boolean done;
     Reader reader;
     // Initial tests setup and execution.
     public void startApp() {
     try {
     // Get our receiving port connection.
     messconn = (MessageConnection)
     Connector.open("sms://:6222");
     // Register a listener for inbound messages.
     messconn.setMessageListener(this);
     // Start a message-reading thread.
     done = false;
     reader = new Reader();
     new Thread(reader).start();
     } catch (IOException e) {
     // Handle startup errors
     }
     }
     // Asynchronous callback for inbound message.
     public void notifyIncomingMessage(MessageConnection conn) {
     if (conn == messconn) {
     reader.handleMessage();
     }
     }
     // Required MIDlet method - release the connection and
     // signal the reader thread to terminate.
     public void pauseApp() {
     done = true;
     try {
     messconn.close();
     } catch (IOException e) {
     // Handle errors
     }
     }
     // Required MIDlet method - shutdown.
     // @param unconditional forced shutdown flag
     public void destroyApp(boolean unconditional) {
     done = true;
     try {
     messconn.setMessageListener(null);
     messconn.close();
     } catch (IOException e) {
     // Handle shutdown errors.
     }
     }
     // Isolate blocking I/O on a separate thread, so callback
     // can return immediately.
     class Reader implements Runnable {
     private int pendingMessages = 0;
     
     // The run method performs the actual message reading.
     public void run() {
     while (!done) {
     synchronized(this) {
     if (pendingMessages == 0) {
     try {
     wait();
     } catch (Exception e) {
     // Handle interruption
     }
     }
     pendingMessages--;
     }
     
     // The benefit of the MessageListener is here.
     // This thread could via similar triggers be
     // handling other kind of events as well in
     // addition to just receiving the messages.
     
     try {
     Message mess = messconn.receive();
     } catch (IOException ioe) {
     // Handle reading errors
     }
     }
     }
     
     public synchronized void handleMessage() {
     pendingMessages++;
     notify();
     }
     
     }
     }
    J'esepere que ca pourra t aider un peu,

    Cheers,

    Always Connected, Always On...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Par défaut
    merci jhaythem, je vais voir ce que je peux faire avec ça

    je me demande quand même si le principe du messageListener et compatible avec le PushRegistry : par là j'entends que je ne vois pas trés bien comment la methode notifyIncommingMessage peut être appelée si l'application est réveillé par le Pushregistry (qui appel la méthode startApp à l'arrivé d'un Message) ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Par défaut
    aprés avoir analysé ce code, j'ai vu qu'en fait cela ne correspond pas à ce que je veux.

    moi je voudrais que mon application soit lancée automatiquement à l'arrivée d'un MMS et pas un programme qui ecoute l'arrivée des MMS ...

    il faudrais qu'un spécialiste du PushRegistry passe par là pour venir à mon aide ... Au Secours !!!

    je galère énormément avec ça alors si vous avez la moindre petite idée en lisant ce sujet, n'hésitez pas à poster !

    PS: merci quand même jhaythem pour ton code

Discussions similaires

  1. Echange de données entre application Android et un serveur web
    Par ykharroubi dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 26/09/2012, 11h47
  2. Réponses: 0
    Dernier message: 20/04/2012, 16h35
  3. Réponses: 2
    Dernier message: 19/04/2012, 16h38
  4. Réponses: 2
    Dernier message: 10/12/2010, 10h52
  5. Communication entre deux applications via un serveur
    Par YoshK dans le forum Flash/Flex
    Réponses: 0
    Dernier message: 01/12/2010, 19h43

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