×
Namespaces

Variants
Actions
Revision as of 06:52, 21 August 2009 by maiconherverton (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Como enviar uma mensagem SMS com Java ME

From Nokia Developer Wiki
Jump to: navigation, search


WMAPI permite que aos aplicativos Java ME acessar as funcionalidades de mensagens, como envio e recebimento de mensagens SMS e MMS. Este artigo explica como utilizá-lo para enviar uma mensagem de texto simples.

JavaME HowToSendTextSMS.png

Contents

Código fonte

A seguinte dica Java ME explica um método de envio de mensagens de texto. Na interface TextMessage mo programa representa uma mensagem de texto. O setPayloadText (método) define os caracteres na mensagem.

  public boolean sendSms(String number, String message){
boolean result = true;
try {
//define o endeço da mensagem
String addr = "sms://"+number;
// abre a conexão
MessageConnection conn = (MessageConnection) Connector.open(addr);
// prepara a mensagem
TextMessage msg =
(TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE);
//define o texto
msg.setPayloadText(message);
// envia a mensagem
conn.send(msg);
conn.close();
} catch (SecurityException se) {
// Provavelmente o usuário não tenha permissão para enviar sms
// Você pode querer lidar com isso de forma diferente
result = false;
} catch (Exception e) {
result = false;
}
return result;
}

Download

Você pode baixar um exemplo MIDlet baixando o código apresentado neste artigo aqui: Media:HowToSendTextSMSMIDlet.zip

Notas

  • Lembre-se que uma única mensagem tem um tamanho máximo (140 bytes, o que se traduz em 160 caracteres de 7 bits). Se a sua mensagem é muito longa para caber em uma mensagem que pode ser dividida até um máximo de três SMS, isso é feito automaticamente pela aplicação WMA.
  • Potencialmente operações de bloqueio, como o envio de uma mensagem de texto, deve sempre ser realizada em segmentos separados, para evitar o bloqueio do segmento MIDlet principal.

Links relacionados

186 page views in the last 30 days.
×