Como enviar uma mensagem SMS com Java ME
m |
|||
| Line 2: | Line 2: | ||
Original: [[How to Send Text SMS in Java ME]] | Original: [[How to Send Text SMS in Java ME]] | ||
| − | 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. | + | A ''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. |
[[Image:JavaME_HowToSendTextSMS.png]] | [[Image:JavaME_HowToSendTextSMS.png]] | ||
==Código fonte== | ==Código fonte== | ||
| − | A seguinte dica Java ME explica um método de envio de mensagens de texto. | + | A seguinte dica Java ME explica um método de envio de mensagens de texto. No programa 'TextMessage interface' representa uma mensagem de texto. O método ''setPayloadText()'' define os caracteres na mensagem. |
<code java> | <code java> | ||
| Line 20: | Line 20: | ||
TextMessage msg = | TextMessage msg = | ||
(TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE); | (TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE); | ||
| − | //define o texto | + | // define o texto |
msg.setPayloadText(message); | msg.setPayloadText(message); | ||
// envia a mensagem | // envia a mensagem | ||
| Line 37: | Line 37: | ||
===Download=== | ===Download=== | ||
| − | Você pode baixar um exemplo MIDlet | + | Você pode baixar um exemplo MIDlet mostrando o código apresentado neste artigo aqui: [[Media:HowToSendTextSMSMIDlet.zip]] |
===Notas=== | ===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 | + | * 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, ela pode ser dividida em um máximo de três SMS, isso é feito automaticamente pela aplicação WMA. |
| − | * ''' | + | * '''Operações com potencial de bloqueio''', como o envio de uma mensagem de texto, '''deve sempre ser realizada em uma Thread separada''', para evitar o bloqueio da Thread do MIDlet principal. |
==Links relacionados== | ==Links relacionados== | ||
* [http://library.forum.nokia.com/index.jsp?topic=/Java_Developers_Library/GUID-71D2FC38-3A7C-4F69-9A2C-C307ABF33D6C/overview-summary.html WMAPI JavaDocs] | * [http://library.forum.nokia.com/index.jsp?topic=/Java_Developers_Library/GUID-71D2FC38-3A7C-4F69-9A2C-C307ABF33D6C/overview-summary.html WMAPI JavaDocs] | ||
* [http://library.forum.nokia.com/index.jsp?topic=/Java_Developers_Library/GUID-5D55EA03-888E-437A-9498-82F606097B48_GUID-078BCC37-8746-4FF5-AD39-9FCB6C3F7F08.html Wireless messaging section on Java ME Developer's Library] | * [http://library.forum.nokia.com/index.jsp?topic=/Java_Developers_Library/GUID-5D55EA03-888E-437A-9498-82F606097B48_GUID-078BCC37-8746-4FF5-AD39-9FCB6C3F7F08.html Wireless messaging section on Java ME Developer's Library] | ||
Revision as of 04:55, 5 September 2009
Original: How to Send Text SMS in Java ME
A 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.
Contents |
Código fonte
A seguinte dica Java ME explica um método de envio de mensagens de texto. No programa 'TextMessage interface' representa uma mensagem de texto. O método setPayloadText() 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 mostrando 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, ela pode ser dividida em um máximo de três SMS, isso é feito automaticamente pela aplicação WMA.
- Operações com potencial de bloqueio, como o envio de uma mensagem de texto, deve sempre ser realizada em uma Thread separada, para evitar o bloqueio da Thread do MIDlet principal.


