Enviar SMS

8 respostas
Chuvinha

Galera, peguei 2 exemplos da Nokia para enviar uma mensagem via SMS e ambos não funcionaram.
Segue abaixo os códigos.

private void enviarMensagem() {
        try {
            connection = (MessageConnection) Connector.open("sms://:5000");
        } catch (IOException ex) {
        }

        TextMessage mensagem = prepararSMS();
        enviarSMS(mensagem);
    }

    private TextMessage prepararSMS() {
        TextMessage mensagem = (TextMessage) connection.newMessage(MessageConnection.TEXT_MESSAGE);

        String number = "sms://" + tfNumero.getString();
        mensagem.setAddress(number);

        String texto = tfTexto.getString();
        mensagem.setPayloadText(texto);

        this.sendSms(tfNumero.getString(), texto);

        return mensagem;
    }

pprivate void enviarSMS(final TextMessage message) {
        Thread smsThread = new Thread() {

            public void run() {
                try {
                    connection.send(message);
                    form.append("Mensagem enviada");
                } catch (InterruptedIOException ex) {
                } catch (IOException ex) {
                } catch (IllegalArgumentException ex) {
                } catch (SecurityException ex) {
                }
            }
        };
        smsThread.start();
    }

E o segundo.

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;
    }

Nenhum dos metodos cai no catch.
Mas a mensagem não chega.
Alguém poderia me ajudar?
Ou se tiver outro exemplo

8 Respostas

Chuvinha

Acho que preciso ter o serviço de alguma operadora né

Chuvinha

Poxa, ninguém sabe?

Chuvinha

Poxa, ninguém sabe?

P

Poxa, ninguém sabe?

NÂO. Próximo da fila !

Priuli

Cara, a meu ver… vc precisar ter um dispositivo movel com uma operadora para enviar mensagens sms, ou então no caso de uma aplicação desktop vc precisa ter uma integração com uma operadora, aquela que irá enviar as mensagens atraves de seus equipamentos(radio, satelite… )…
Eu usei uma integração com uma empresa chama Okto em um trabalho, nesta integração eu usava arquivos em formato texto e ela transformava em sms e logico cobrava pra enviar tais sms…

P
  1. Para enviar pelo SMS, basta acertar a mão no código

  2. Integração é apenas para quem tem volume.
    Quem não tem, não precisa contratar integradora, desenvolve por si só que é muito fácil.O Google ensina.Sim, eu aprendi.

Chuvinha

Quais configurações o cel precisar pra eu usar minha aplicação?
Ou pode ser qualquer um

P

Nenhuma, qualquer cel gsm é capaz de enviar.

Você conecta ele por cabo ao PC e do PC vc abre uma conexão serial e vai enviando comandos AT específicos para o modem GSM.

O cel atua como um modem GSM, entende o comando e toma a devida ação.

Qualquer linguagem onde o harware é tangível neste nível pode ser usada, como Delphi, VB, dotNet.

Se souber Assembly, até pode fazer também, basta saber quais as APIs do Windows abrem e fecham dispositivos (COMs)…

Me dou por satisfeito se conseguir fazer com a mais facil: dotNet

Criado 23 de novembro de 2010
Ultima resposta 29 de nov. de 2010
Respostas 8
Participantes 3