-4

我正在做一个开发移动支付系统的项目。

如何使用 Java ME SDK 3.0 创建 SMS 应用程序来发送 SMS?我希望将消息连接到 WAMP 服务器。

4

1 回答 1

2

您可以使用这个免费的 Java 示例程序,使用连接到计算机的 GSM 调制解调器从您的 PC 将 SMS 发送到您的 COM 端口。您还需要从 Sun 下载并安装 Java comm api。

该程序需要以下 java 文件才能运行。

  1. SerialConnection.java(此文件用于从您的 java 程序连接到您的 COM 端口)

  2. SerialConnectionException.java(此文件用于处理 Java 程序中的串行连接异常)

  3. SerialParameters.java(该程序用于设置您的 COM 端口属性,以便从您的 java 程序连接到您的 COM 端口)

  4. Sender.java(这是实现runnable并使用串行连接发送SMS的程序)

  5. SMSClient.java(这个java类是主类,可以在你自己的java程序中实例化并调用来发送短信。这个程序反过来会在内部使用以上四个文件来发送你的短信)。

    public class SMSClient implements Runnable{
    
    public final static int SYNCHRONOUS=0;
    public final static int ASYNCHRONOUS=1;
    private Thread myThread=null;
    
    private int mode=-1;
    private String recipient=null;
    private String message=null;
    
    public int status=-1;
    public long messageNo=-1;
    
    
    public SMSClient(int mode) {
      this.mode=mode;
    }
    
    public int sendMessage (String recipient, String message){
    this.recipient=recipient;
    this.message=message;
    //System.out.println("recipient: " + recipient + " message: " + message);
    myThread = new Thread(this);
    myThread.start();
    //    run();
    return status;
    }
    public void run(){
    
    Sender aSender = new Sender(recipient,message);
    
    try{
      //send message
          aSender.send ();
    
         // System.out.println("sending ... ");
    
      //in SYNCHRONOUS mode wait for return : 0 for OK,
      //-2 for timeout, -1 for other errors
      if (mode==SYNCHRONOUS) {
          while (aSender.status == -1){
            myThread.sleep (1000);
          }
      }
      if (aSender.status == 0) messageNo=aSender.messageNo ;
    
    }catch (Exception e){
    
        e.printStackTrace();
    
    }
    
    this.status=aSender.status ;
    
    aSender=null;
    

    } }

于 2012-03-12T07:58:32.533 回答