Como enviar uma mensagem SMS com Java ME
m |
hamishwillee
(Talk | contribs) m (Hamishwillee - Adding missing translation link) |
||
| (13 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| − | [[Category:Java ME ( | + | [[Category:Java ME]][[Category:Lang-Portuguese]][[Category:WMA 1.0 (JSR-120)]][[Category:Code Snippet]][[Category:SMS]][[Category:Messaging]][[Category:How To]] |
| − | + | {{ArticleMetaData | |
| + | |sourcecode=[[Media:HowToSendTextSMSMIDlet.zip]] | ||
| + | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
| + | |devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') --> | ||
| + | |sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> | ||
| + | |platform= <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later --> | ||
| + | |devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) --> | ||
| + | |dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 --> | ||
| + | |signing=<!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer --> | ||
| + | |capabilities=<!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --> | ||
| + | |keywords= <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase --> | ||
| + | |id= <!-- Article Id (Knowledge base articles only) --> | ||
| + | |language=Lang-Portuguese | ||
| + | |translated-by= <!-- [[User: XXXXX]] --> | ||
| + | |translated-from-title=<!-- Title only --> | ||
| + | |translated-from-id= <!-- Id of translated revision --> | ||
| + | |review-by=<!-- After re-review: [[User:username]] --> | ||
| + | |review-timestamp=<!-- After re-review: YYYYMMDD --> | ||
| + | |update-by=<!-- After significant update: [[User:username]]--> | ||
| + | |update-timestamp=<!-- After significant update: YYYYMMDD --> | ||
| + | |creationdate=20090821 | ||
| + | |author=[[User:Maiconherverton]] | ||
| + | }} | ||
| + | [[en:How to Send Text SMS in Java ME]] | ||
| − | WMAPI permite que | + | {{abstract|A Wireless Messaging API (WMAPI) permite que os aplicativos Java ME acessem os 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.}} |
| − | + | ==Overview== | |
| − | + | A seguinte dica Java ME explica um método de envio de mensagens de texto usando a [http://jcp.org/en/jsr/detail?id=120 WMAPI]. 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. | |
| − | A seguinte dica Java ME explica um método de envio de mensagens de texto. | + | |
| + | [[Image:JavaME_HowToSendTextSMS.png]] | ||
<code java> | <code java> | ||
| Line 18: | 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); | ||
// envia a mensagem | // envia a mensagem | ||
| Line 37: | Line 60: | ||
===Download=== | ===Download=== | ||
| − | Você pode baixar um exemplo MIDlet | + | |
| + | 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 | + | |
| − | * ''' | + | * 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. | + | |
| − | * [http://library. | + | * [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] | ||
| + | <!-- Translation --> [[en:How to send text SMS in Java ME]] | ||
Latest revision as of 07:31, 16 December 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 hamishwillee
em 16 Dec 2011
A Wireless Messaging API (WMAPI) permite que os aplicativos Java ME acessem os 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 |
Overview
A seguinte dica Java ME explica um método de envio de mensagens de texto usando a WMAPI. 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 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.


