1

SMS を送受信する net-beans でモバイル アプリケーションを開発しています。テキストの送信は完了しましたが、NetBeans モバイル アプリケーションで SMS を受信する方法がわかりません。

4

1 に答える 1

3

WMA(Wireless Messaging API)は、MIDP2.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) {
    }
    }
  }
}

SMSの受信用にコーディングする場合は、特定の1つのポートをリッスンする必要があります。J2MEアプリケーションは、受信ボックスから直接読み取ることはできません。

于 2011-11-16T02:48:20.573 に答える