problème pushRegistry sur réception SMS
salut tout le monde,
j'ai une petite application permettant d'envoyer et de recevoir des SMS. je vous copie les deux méthodes qui à priori vous seraient utiles pour m'aider : startApp et run de la midlet de reception des SMS (pour ceux qui connaissent, je me suis servi de l'exemple WMADemo du WTK)
Code:
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
|
public void startApp() {
String smsConnection = "sms://:" + smsPort;
if (smsconn == null) {
try {
smsconn = (MessageConnection)Connector.open(smsConnection);
smsconn.setMessageListener(this);
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
connections = PushRegistry.listConnections(true);
if ((connections == null) || (connections.length == 0)) {
content.setString("Waiting for SMS on port " + smsPort + "...");
}
done = false;
thread = new Thread(this);
thread.start();
display.setCurrent(resumeScreen);
}
public void run() {
try {
msg = smsconn.receive();
if (msg != null) {
senderAddress = msg.getAddress();
content.setTitle("From: " + senderAddress);
if (msg instanceof TextMessage) {
content.setString(((TextMessage)msg).getPayloadText());
} else {
StringBuffer buf = new StringBuffer();
byte[] data = ((BinaryMessage)msg).getPayloadData();
for (int i = 0; i < data.length; i++) {
int intData = (int)data[i] & 0xFF;
if (intData < 0x10) {
buf.append("0");
}
buf.append(Integer.toHexString(intData));
buf.append(' ');
}
content.setString(buf.toString());
}
display.setCurrent(content);
}
} catch (IOException e) {
}
} |
pour le moment, je lance deux instances, sur l'une j'ouvre la midlet de reception (j'ai donc un "waiting for sms..." affiché jusqu'à nouvel ordre) sur l'autre j'envoi un message à la première instance et là mon message s'affiche effectivement sur l'ecran de la première. donc tout va bien.
maintenant ce que je voudrais, c'est ne plus avoir à lancer la midlet de reception sur la première instance, mais que celle ci s'ouvre automatiquement. j'utilise dons le pushRegistry sur mon numero de port avec la midlet de reception. (je verifie sur le .jad et la ligne push est effectivement là avec les paramètres qu'il faut)
donc encore une fois tout va bien... eh bah non ! ça ne marche pas. du coup je me dis qu'il faut peut etre changer le code de reception. mais en suivant cet exemple : exemple
je ne vois pas ce qui me manque...
voila tout est dit, j'espère que vous pourrez m'aider