Página Inicial do Fórum > Google Android e Desenvolvimento Mobile

Fazer PushRegistry por SMS funcionar



Criar novo tópico   Responder tópico


  1. ping
    Posts:1739


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Olá pessoal, alguém já conseguiu startar uma aplicação através de SMS em um dispositivo real? pergunto isso porque to conseguindo fazer isso no emulador, mas no dispositivo real ele manda o SMS mas a outra MIDlet não acorda:

    Código da classe que envia o SMS:


    Código da classe que recebe o SMS:


    Meu JAD está assim:


    Desde já agradeço...
    _________________
    Blog sobre mobilidade




  1. PCOMORA
    Posts:99


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Bom Ping não sei se acompanhou mas eu apanhei muito com isso, tive que fazer uma aplicação aqui para empresa onde eu trabalho e graças a Deus estou nos finalmentes hahahahha

    Seguinte como vc esta enviando essa mensagem para o aparelho? e de um servidor é de outro aparelho com outra aplicação?

    Bom ser for de um servidor através de um modem gsm existem uma API chamada SMSLib, nese site http://www.javaworld.com/javaworld/jw-04-2006/jw-0417-push.html explica certinho e tem exemplo no pacote chamado SMSServer para enviar as mensagens.

    O que deve estar ocorrendo para não starta a aplicação é que do aparelho ou servidor que vc está enviando vc não deve estar especificando a porta onde sua aplicação escuta (exemplo porta 5000) se não enviar a porta junto a aplicação não starta mesmo.


    Deixei um post aqui outro dia com link onde informava quais as portas que vc não deve usar em uma aplicação.

    Veja se te ajudei qq coisa meu e-mail pcomora@gmail.com se precisar de ajuda é só pedir blz.




  1. ping
    Posts:1739


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    PCOMORA
    Bom Ping não sei se acompanhou mas eu apanhei muito com isso, tive que fazer uma aplicação aqui para empresa onde eu trabalho e graças a Deus estou nos finalmentes hahahahha

    Seguinte como vc esta enviando essa mensagem para o aparelho? e de um servidor é de outro aparelho com outra aplicação?

    Bom ser for de um servidor através de um modem gsm existem uma API chamada SMSLib, nese site http://www.javaworld.com/javaworld/jw-04-2006/jw-0417-push.html explica certinho e tem exemplo no pacote chamado SMSServer para enviar as mensagens.

    O que deve estar ocorrendo para não starta a aplicação é que do aparelho ou servidor que vc está enviando vc não deve estar especificando a porta onde sua aplicação escuta (exemplo porta 5000) se não enviar a porta junto a aplicação não starta mesmo.


    Deixei um post aqui outro dia com link onde informava quais as portas que vc não deve usar em uma aplicação.

    Veja se te ajudei qq coisa meu e-mail pcomora@gmail.com se precisar de ajuda é só pedir blz.



    Opa, blz..

    Seguinte, eu tento startar uma MIDlet através de PushRegistry e SMS, enviando o SMS de outra MIDlet, sendo que na MIDlet de envio eu especifico que quero mandar o SMS pra porta 50000, e no PushRegistry da MIDlet que recebe eu mandei ficar escutando a mesma porta, ou seja, a 50000... mas a msn cai direto na caixa de entrada e a MIDlet não starta...
    _________________
    Blog sobre mobilidade




  1. PCOMORA
    Posts:99


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Veja essa linha no seu código:
    MessageConnection incomingConnection = (MessageConnection) Connector.open("sms://:" + 5000);

    Veja a linha no seu .jad:
    MIDlet-Push-1: sms://:50000, RecebeSMS, *

    Você colocou no .jad que sua aplicação escuta na porta 50000 e no seu código ela está na porta 5000, faltou um zero ai....

    Segue o código de conexão da minha Midlet.

    this.connections = PushRegistry.listConnections(true);
    if (connections == null || connections.length == 0) {
    if (this.smsconn == null) {
    try {
    String smsConnection = "sms://:16665";
    this.smsconn = (MessageConnection) Connector.open(smsConnection);
    this.smsconn.setMessageListener(this);
    } catch (IOException ioe) {
    ioe.printStackTrace();
    }
    }
    }
    else {
    for (int i = 0; i < connections.length; i++) {
    String smsConnection = connections;
    try {
    this.smsconn = (MessageConnection) Connector.open(smsConnection);
    this.smsconn.setMessageListener(this);
    } catch (IOException ioe) {
    ioe.printStackTrace();
    }
    }
    }

    Coloquei em anexo um exemplo que achei o site da sony também que deve ser mais ou menos que vc está querendo fazer.




  1. ping
    Posts:1739


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    PCOMORA
    Veja essa linha no seu código:
    MessageConnection incomingConnection = (MessageConnection) Connector.open("sms://:" + 5000);

    Veja a linha no seu .jad:
    MIDlet-Push-1: sms://:50000, RecebeSMS, *

    Você colocou no .jad que sua aplicação escuta na porta 50000 e no seu código ela está na porta 5000, faltou um zero ai....

    Segue o código de conexão da minha Midlet.

    this.connections = PushRegistry.listConnections(true);
    if (connections == null || connections.length == 0) {
    if (this.smsconn == null) {
    try {
    String smsConnection = "sms://:16665";
    this.smsconn = (MessageConnection) Connector.open(smsConnection);
    this.smsconn.setMessageListener(this);
    } catch (IOException ioe) {
    ioe.printStackTrace();
    }
    }
    }
    else {
    for (int i = 0; i < connections.length; i++) {
    String smsConnection = connections;
    try {
    this.smsconn = (MessageConnection) Connector.open(smsConnection);
    this.smsconn.setMessageListener(this);
    } catch (IOException ioe) {
    ioe.printStackTrace();
    }
    }
    }

    Coloquei em anexo um exemplo que achei o site da sony também que deve ser mais ou menos que vc está querendo fazer.



    Brigado pelo exemplo, vou ver, mas assim, sobre o código ter 5000 e no PushRegistry ter 50000 não tem a haver, porque esse código que eu coloquei ele deveria startar quando a MIDlet recebe o SMS e depois tentar escutar o Listener, que está configurado na porta 5000, mas ele nem chega a startar a MIDlet....
    _________________
    Blog sobre mobilidade




  1. renandpf
    Posts:136


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Olá!

    Futuramente minha aplicação vai ter que processar um SMS que o banco (Banco Real) envia sempre que ocorre uma operação em determinada conta corrente.

    Ja me adiantando, terei que saber qual a porta que o banco utiliza no envio da SMS???

    Será que eles liberam essa informação?
    _________________
    Renan Del Puppo Furtado
    Java Micro Edition Certified (SCMAD 1.0)
    Java Certified (SCJP 1.4)




  1. PCOMORA
    Posts:99


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Bom eu acho que nem eles sabem dessa informação, por que eles devem enviar através de empresas especializadas no ramo de sms e essas mensagens são enviada de forma simples somente, mesmo se você descobrir qual a porta que a aplicação nativa do SO do aparelho escuta também não vai adiantar, uma que vc não poderá usar essa porta na sua aplicação e outra a aplicação nativa tem total preferência sobre qualquer aplicação j2me.




  1. JPB1
    Posts:1


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Hello,

    I cannot write Portuguese, and my Spanish is not so good. So I hope you will bear with my English!

    I read your post about writing-sending sms's.

    Do you know how I can have access to the sms's in my phone (a nokia 6111, and it should be a generic issue)?

    I have read a lot about pushregistry that wakes up a midlet, and I have not found any code that actually reads the sms.

    I would like to be able to read sms's directly from the phone memory, not only when they come in.

    Hope you can help.

    Thank you.

    Very truly yours,

    Jean-Paul Bardou

    P.S. If you answer, can you also give me notice per mail (I am not on the net that often) at jpb1@tiscali.dk




  1. brennohayden
    Posts:180


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Opa... muito bom essa descução! um dia desses eu estava pensando algo assim mas não cheguei a pesquisa alguma coisa! Essas informções são muito uteis, agora vou dar uma pesquisada e testar!




    vlw ae
    !
    _________________
    Brenno Hayden
    http://www.brennovisk.com




  1. vinycc
    Posts:29


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    ping
    Olá pessoal, alguém já conseguiu startar uma aplicação através de SMS em um dispositivo real? pergunto isso porque to conseguindo fazer isso no emulador, mas no dispositivo real ele manda o SMS mas a outra MIDlet não acorda:



    Esse problema já foi solucionado? Estou desenvolvendo uma aplicaçao que futuramente precisará ser iniciada através de sms. Pesquisei sobre o assunto e implementei alguns exemplos, mas nao testei em dispositivos reais.

    Se alguem já teve sucesso na utilizaçao do SMS + PushRegistry, por favor me avise, para que eu leve esse projeto adiante, ou procure outra possibilidade.




  1. mpazinato
    Posts:3


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Olá pessoal, acho que minha duvida vai simplificar o assunto do tópico, mas to totalmente perdido.. tentei utilizar o exemplo que o ping colocou acima pra ver se vejo o push registry funcionar d alguma forma, e não consegui fazer ele funcionar.. devo estar fazendo algo de errado... ( uma pergunta.. eu preciso baixar ele via ota pra ele funcionar? )

    E também não consigo entender direito como o push registry vai fazer o midlet iniciar automatico... desculpa por minha dúvidas serem banais, mas to precisando de um help de vcs.. esse pode valer um emprego.

    valeu por qualquer ajuda galera...
    _________________
    Marciano Pazinato

    www.mis-sw.com.br
    pazinato@mis-sw.com.br
    MSN: mpazinato@msn.com
    Skype: mpazinato




  1. ping
    Posts:1739


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    mpazinato
    Olá pessoal, acho que minha duvida vai simplificar o assunto do tópico, mas to totalmente perdido.. tentei utilizar o exemplo que o ping colocou acima pra ver se vejo o push registry funcionar d alguma forma, e não consegui fazer ele funcionar.. devo estar fazendo algo de errado... ( uma pergunta.. eu preciso baixar ele via ota pra ele funcionar? )

    E também não consigo entender direito como o push registry vai fazer o midlet iniciar automatico... desculpa por minha dúvidas serem banais, mas to precisando de um help de vcs.. esse pode valer um emprego.

    valeu por qualquer ajuda galera...



    Bem, pra você testar no emulador você precisa executar via OTA sim.. quanto ao seu funcionamenento eu tb tenho minhas dúvidas, porque tentei implementar um sistema que seria "acordado" com uma mensagem SMS.. porém, testei de todas as formas imagináveis, exceto uma eu acho, porque não deu certo de forma alguma.. espero ter ajudado
    _________________
    Blog sobre mobilidade




  1. mpazinato
    Posts:3


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Opa, valeu ping.. acho q eu deveria ter testado fazer o projeto executar via ota antes de pedir ajuda... mas consegui fazer teu exemplo funcionar aki... agora posso pedir o help pro meu verdadeiro (grande) problema..

    Fiz um aplicativo que serve para ler dados de um GPS, mas por enquanto ele está disponível para que os usuarios façam suas besteiras de sempre. Para impedir isso, queria utilizar o Push Registry para iniciar ele ou apenas verificar se ja está ativo (pelo q vi o Timer pode fazer isso), caso não esteja ativo, quero ativa-lo dessa forma... mas como não entendi direito queria ver se tem como vcs darem uma ajuda pra mim..

    vlw pelo ajuda

    _________________
    Marciano Pazinato

    www.mis-sw.com.br
    pazinato@mis-sw.com.br
    MSN: mpazinato@msn.com
    Skype: mpazinato


  1. Comment Arrow

    Publicado em: 12/04/2009 13:27:30

    Enfim, to vendo essa discursão toda, mas gostaria de saber se vocês conseguiram fazer funcionar o push por sms, eu não consegui, penso num pequeno problema antes de funcionar no emulador, como vou enviar uma mensagem pra uma porta específica utilizando um celular comum?




  1. Relacionados





Novo tópico   Responder tópico     Índice do forum -> Google Android e Desenvolvimento Mobile