Como enviar uma mensagem SMS com Java ME
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot addition of Template:ArticleMetaData) |
m (Marcelobarrosalmeida - checking contents) |
||
| Line 1: | Line 1: | ||
| + | [[Category:Java ME]][[Category:Code Examples]][[Category:Lang-Portuguese]] | ||
{{ArticleMetaData | {{ArticleMetaData | ||
|sourcecode=[[Media:HowToSendTextSMSMIDlet.zip]] | |sourcecode=[[Media:HowToSendTextSMSMIDlet.zip]] | ||
| Line 21: | Line 22: | ||
|creationdate=20090821 | |creationdate=20090821 | ||
|author=[[User:Maiconherverton]] | |author=[[User:Maiconherverton]] | ||
| − | }} | + | }} |
Original: [[How to Send Text SMS in Java ME]] | Original: [[How to Send Text SMS in Java ME]] | ||
| − | A | + | A Wireless Messaging API ([http://jcp.org/en/jsr/detail?id=120 WMAPI]) permite que aos aplicativos Java ME acesso aos recursos de comunicação wireless, 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. No programa | + | |
| + | A seguinte dica Java ME explica um método de envio de mensagens de texto. No programa, o objeto <tt>TextMessage</tt> representa uma nova mensagem de texto. Já o método <tt>setPayloadText()</tt> define os caracteres na mensagem. | ||
<code java> | <code java> | ||
| Line 40: | Line 42: | ||
MessageConnection conn = (MessageConnection) Connector.open(addr); | MessageConnection conn = (MessageConnection) Connector.open(addr); | ||
// prepara a mensagem | // prepara a mensagem | ||
| − | TextMessage msg = | + | TextMessage msg = (TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE); |
| − | + | ||
// define o texto | // define o texto | ||
msg.setPayloadText(message); | msg.setPayloadText(message); | ||
| Line 59: | Line 60: | ||
===Download=== | ===Download=== | ||
| − | Você pode baixar um exemplo MIDlet mostrando o código apresentado neste artigo | + | |
| + | Você pode baixar um exemplo MIDlet mostrando o código apresentado neste artigo [[Media:HowToSendTextSMSMIDlet.zip aqui]]. | ||
===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, ela pode ser dividida em um máximo de três SMS, isso é feito automaticamente pela aplicação WMA. | * 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. | * '''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.developer.nokia.com/index.jsp?topic=/Java_Developers_Library/GUID-71D2FC38-3A7C-4F69-9A2C-C307ABF33D6C/overview-summary.html WMAPI JavaDocs] | * [http://library.developer.nokia.com/index.jsp?topic=/Java_Developers_Library/GUID-71D2FC38-3A7C-4F69-9A2C-C307ABF33D6C/overview-summary.html WMAPI JavaDocs] | ||
* [http://library.developer.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.developer.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 18:04, 25 November 2011
Dados do artigo
Exemplo de código
Código fonte: Media:HowToSendTextSMSMIDlet.zip
Artigo
Criado por maiconherverton
em 21 Aug 2009
Última alteração feita por marcelobarrosalmeida
em 25 Nov 2011
Original: How to Send Text SMS in Java ME
A Wireless Messaging API (WMAPI) permite que aos aplicativos Java ME acesso aos recursos de comunicação wireless, 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, o objeto TextMessage representa uma nova mensagem de texto. Já 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 Media:HowToSendTextSMSMIDlet.zip aqui.
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.


