1

我正在开发一个在 net-beans 中发送和接收 SMS 的移动应用程序,我完成了发送文本但我不知道如何在 NetBeans 移动应用程序中接收 SMS?

4

1 回答 1

3

WMA (Wireless Messaging API) 是在 MIDP 2.0 中定义的无线消息 API。这些 api 旨在处理文本、二进制和多部分消息。为了建立连接,应用程序通过提供标识地址的 URL 连接字符串从 Connector 类获取实现 MessageConnection 的对象。

/* Make a connection */
public boolean connectSMSServer() 
{
  try 
  {
    messageConnection messageConnection = 
      (MessageConnection)Connector.open("sms://:" + port);
    messageConnection.setMessageListener(this);
  }
  catch (Exception e) {
  }
}

/* Send text message */
public void sendTextmessage(String address,String message) 
{
  try 
  {
    //creates a new TextMessage
    TextMessage textMessage = (TextMessage)messageConnection.newMessage(
            MessageConnection.TEXT_MESSAGE, address);
    textMessage.setPayloadText(message);
    messageConnection.send(textMessage);
  } 
  catch (Exception e) {
  }
}

/* Recieve text message */
public void receiveTextMessage() 
{
  try 
  {
    Message message = messageConnection.receive();
    if (message instanceof TextMessage) 
    {
      TextMessage textMessage = (TextMessage)message;
    } 
    else 
    {
      //Message can be binary or multipart
    }                   
  } 
  catch (Exception e) {
  }
}

/* Notify Incoming Message */
public synchronized void notifyIncomingMessage(MessageConnection conn) 
{
  //notiy thread of incoming message
  synchronized (this)
  {
    notify();
  }
}

/* Close Connection */
public void closeConnection() 
{
  if (messageConnection != null) 
  {
    try 
    {
      messageConnection.setMessageListener(null);
      messageConnection.close();
    } 
    catch (Exception e) {
    }
    }
  }
}

当你为接收短信​​编码时,你需要监听一个特定的端口。J2ME 应用程序无法直接从收件箱中读取。

于 2011-11-16T02:48:20.573 回答