我正在使用 Java 使用 AT 命令从我的 3G 加密狗(GSM 调制解调器)发送 SMS。它大部分都在工作,但有时 SMS 文本包含在此之前触发的部分 AT 命令。这是间歇性的,但需要修复。
相关代码如下:
public void sendMessage(String phoneNumber, String message) throws InterruptedException {
char qu=34;
char cz=26;
send("AT+CMGF=1\r\n");
Thread.sleep(2000);
send("AT+CMGS=" + qu + phoneNumber + qu + ",145\r\n");
send(message + cz + "\r");
}
public static void main(String args[]) {
GSMConnect gsm = new GSMConnect("COM22");
if (gsm.init()) {
try {
gsm.connect();
Thread.sleep(2000);
gsm.sendMessage("+9172xxxxxxxx", "Test Message sent from GSM Modem using AT Commands.");
System.out.println("Sleeping for 20 secs");
Thread.sleep(20000);
gsm.hangup();
} catch (Exception e) {
e.printStackTrace();
}
} else {
System.out.println("Can't init this card");
}
}
我有时收到的消息如下:
AT+CMGS="+9172xxxxxxxx", 145 使用 AT 命令从 GSM 调制解调器发送的测试消息。
=============
在此先感谢您的帮助!
问候, 库马尔吉特