第一步:
The installation procedure for both the old Java Comm v2 and the new Java Comm v3 is identical.
Java Comm v2 is for Win32 systems and it is available on the Download page.
Java Comm v3 is for Linux systems and it is available for download directly from SUN downloads (registration is required)
To install it, unzip the downloaded archive file in a temporary place and do the following copies:
File comm.jar should go under JDKDIR/jre/lib/ext/
File javax.comm.properties should go under JDKDIR/jre/lib/
Library files (i.e. win32com.dll for Win32 or the .so Linux library files) should go under JDKDIR/jre/bin/
If you have a separate JRE directory, do the same copies for the JREDIR directory!
即comm.jar導入引用包中,javax.comm.properties拷貝到JDKDIR/jre/lib/下,win32com.dll拷貝到 JDKDIR/jre/bin/下
第二步:
把相應的包導入就能夠了。
當時在作的時候,發現經過SMSLib發送程序仍是比較麻煩的,他的日誌採用的是slf4j,而slf4j是基於log4j的,這幾個不一樣的JAR包都是 在不一樣的地方下載的,在此全部的JAR整理出來,但願你們節約時間
JAR包下載地址:http://www.ziddu.com/download/7798641/phonesendmessageJAR.rar.html
測試源碼:
package
org.asdtiang.phone.sendMessage;
import
org.smslib.IOutboundMessageNotification;
import
org.smslib.Message.MessageEncodings;
import
org.smslib.OutboundMessage;
import
org.smslib.modem.SerialModemGateway;
public
class
Main {
private
static
org.smslib.Service srv
=
new
org.smslib.Service();;
public
static
void
creatService() {
SerialModemGateway gateway
=
new
SerialModemGateway(
"
SMS
"
,
"
COM3
"
,
9600
,
"
LENOVO
"
,
"
6070
"
);
gateway.setInbound(
true
);
gateway.setOutbound(
true
);
try
{
srv.addGateway(gateway);
srv.startService();
System.out.println(
"
Modem connected.
"
);
sendSms(
"
15100164985
"
,
"
測試用
"
);
}
catch
(Exception ex) {
ex.printStackTrace();
}
}
public
static
org.smslib.Service getService() {
if
(srv
==
null
) {
creatService();
}
return
srv;
}
public
static
void
disconnect() {
try
{
//
srv.disconnect();
System.out.println(
"
Modem disconnected.
"
);
}
catch
(Exception ex) {
ex.printStackTrace();
}
}
public
static
void
main(String args[]) {
creatService();
}
public
static
boolean
sendSms(String mobile, String content) {
OutboundMessage msg
=
new
OutboundMessage(mobile, content);
msg.setEncoding(MessageEncodings.ENCUCS2);
try
{
srv.sendMessage(msg);
System.out.println(msg);
}
catch
(Exception ex) {
//
log.error(ex);
return
false
;
}
return
true
;
}
public
void
close() {
try
{
srv.stopService();
}
catch
(Exception ex) {
//
log.error(ex);
}
}
public
class
OutboundNotification
implements
IOutboundMessageNotification {
public
void
process(String gatewayId, OutboundMessage msg) {
System.out.println(
"
Outbound handler called from Gateway:
"
+
gatewayId);
System.out.println(msg);
}
}
}