WirelessMessagingAPI(4)

发表于:2007-06-22来源:作者:点击数: 标签:
上面介绍了如何应用WMA发送短信息,应用WMA接收短信息更加简单,当打开一个Server Connection后(此时建立connection时,不需指定电话号码,只需要指定协议以及监听端口号),直接调用MessageConnection接口的receive()方法,该方法返回在当前设备的指定端口收到的下

   
  上面介绍了如何应用WMA发送短信息,应用WMA接收短信息更加简单,当打开一个Server Connection后(此时建立connection时,不需指定电话号码,只需要指定协议以及监听端口号),直接调用MessageConnection接口的receive()方法,该方法返回在当前设备的指定端口收到的下一个短信息。

如果没有短信息到达,那么该方法将会阻塞,并等待下一个短信息的到达,或者由另一个不同的线程关闭此连接。请看下面的示例代码:
  import java.io.*;
  import javax.microedition.io.*;
  import javax.wireless.messaging.*;
  MessageConnection conn = null;
  String url = "sms://:5678"; // no phone number!
  try {
    conn = (MessageConnection) Connector.open( url );
    while( true ){
      Message msg = conn.receive(); // blocks
      if( msg instanceof BinaryMessage ){
        byte[] data =
           ((BinaryMessage) msg).getPayloadData();
        // do something here
      } else {
        String text =
           ((TextMessage) msg).getPayloadText();
        // do something here
      }
    }
  }
  catch( Exception e ){
    // handle it
  }
  finally {
    if( conn != null ){
      try { conn.close(); } catch( Exception e ){}
    }
  }

原文转自:http://www.ltesting.net