如何使用Java发送SMS
问题内容:
我想通过Web应用程序将SMS发送到手机,可以吗?我该怎么做?
问题答案:
您可以使用此免费的Java示例程序使用连接到计算机的GSM调制解调器将PC上的SMS发送到COM端口。您还需要从Sun下载并安装Java comm api。
该程序需要以下Java文件才能运行。
-
SerialConnection.java(此文件用于从Java程序连接到COM端口)
-
SerialConnectionException.java(此文件用于处理Java程序中的串行连接异常)
-
SerialParameters.java(此程序用于设置COM端口属性,以从Java程序连接到COM端口)
-
Sender.java(这是实现可运行并使用串行连接发送SMS的程序)
-
SMSClient.java(此Java类是可以在您自己的java程序中实例化并调用以发送SMS的主类。该程序将在内部使用上述所有四个文件来发送SMS)。
下载发送SMS Java示例程序文件
/*
*
* A free Java sample program
* A list of java programs to send SMS using your COM serial connection
* and a GSM modem
*
* @author William Alexander
* free for use as long as this comment is included
* in the program as it is
*
* More Free Java programs available for download
* at http://www.java-samples.com
*
*
* Note: to use this program you need to download all the 5 java files
* mentioned on top
*
*/
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;
}
}