Получите текстовое сообщение, используя J2ME

Я пытаюсь сделать приложение J2ME для отправки и получения текстовых сообщений. Я закончил с отправляющей частью, но не могу получить ни одного сообщения..

Ниже то, что я пытался получить текстовое сообщение;

    try {
        MessageConnection conn = (MessageConnection) Connector.open("sms://:50001");
        conn.setMessageListener(new MessageListener() {
            public void notifyIncomingMessage(MessageConnection conn) {
                try {
                    Message msg;
                    msg = conn.receive();
                    if (msg instanceof TextMessage) {
                        TextMessage tmsg = (TextMessage) msg;
                        stringItem.setText("Msg: " + tmsg.getPayloadText());
                        System.out.println(tmsg.getPayloadText());
                    }
                    // else if(msg instanceof BinaryMessage) {
                    // .....
                    // } else {
                    // ......
                    // }
                } catch (IOException ex) {
                    ex.printStackTrace();
                } finally {
                    try {
                        conn.close();
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    }
                }
            }
        });
    } catch (Exception e1) {
        System.out.println(e1);
    }

Но это не работает... Также не отображаются ошибки... Что я делаю не так?... Можем ли мы получать сообщения, используя J2ME?

Код для отправки сообщения: (ОБНОВЛЕНО)

MessageConnection conn = (MessageConnection) Connector.open("sms://:50001");
TextMessage tmsg = (TextMessage) conn.newMessage(MessageConnection.TEXT_MESSAGE);
tmsg.setPayloadText(message);
tmsg.setAddress("sms://" + number);
conn.send();

У меня есть оба send а также receive функции в двух разных формах. Я установил и запустил приложение на двух разных мобильных телефонах, отправил сообщение с одного мобильного телефона на другой и получил на другом.

Сообщение отправлено и получено успешно, но не в приложении. Сообщение отправляется в почтовый ящик другого мобильного телефона.

Что я могу сделать?

3 ответа

Попробуй 5000 порт нет.

некоторые телефоны имеют этот порт в качестве прослушивателя смс

Попробуйте заменить tmsg.setAddress("sms://" + number); с tmsg.setAddress("sms://" + number + ":50001");,

Лучшее, что вы можете сделать, - это запустить поток во время получения сообщения и убедиться, что ваши порты открыты перед прослушиванием уведомления о сообщении. Тогда внутри потока просто выполните conn.receive(); способ прочитать сообщение и делать с ним все, что вы хотите.

Другие вопросы по тегам