[英]How to send and receive SMS in java?
我希望我的Java應用程序能夠在不使用任何其他硬件設備的情況下發送和接收SMS ,並且它必須是免費的。
我進行了搜索,但發現的只是標題,我發現了諸如SMSLib之類的東西,但另一方面,我卻沒有找到用於學習該知識的教程或書籍。
我還發現了SMSLib代碼,但不理解:
發送短信/短信代碼
package SMSEngine;
import org.smslib.*;
class SendMessage
{
public static void sendMessage(String number, String message)
{
CService srv = new CService("COM4",9600,"huawei","E220");
try
{
srv.setSimPin("0000");
srv.setSimPin2("0000");
srv.setSmscNumber("");
srv.connect();
COutgoingMessage msg = new COutgoingMessage(number, message);
msg.setMessageEncoding(CMessage.MessageEncoding.Enc7Bit);
msg.setStatusReport(true);
msg.setValidityPeriod(8);
srv.sendMessage(msg);
srv.disconnect();
}
catch (Exception e)
{
e.printStackTrace();
}
System.exit(0);
}
}
讀取消息/短信代碼
package SMSEngine;
import org.smslib.*;
import java.util.*;
class ReadMessages
{
static CService srv;
public static LinkedList receiveMessage()
{
LinkedList msgList = new LinkedList();
/*
To Check COM port Go in following path in Windows7
Control Panel\Hardware and Sound\Bluetooth and Local COM
*/
srv = new CService("COM4",9600,"huawei","E220");//"COM1", 57600, "Nokia", ""
try
{
srv.setSimPin("0000");
srv.setSimPin2("0000");
srv.connect();
srv.readMessages(msgList, CIncomingMessage.MessageClass.Unread);
srv.disconnect();
return msgList;
}
catch (Exception e)
{
e.printStackTrace();
}
System.exit(0);
return msgList;
}
}
為了發送SMS消息,您有兩種選擇:要么使用網關調制解調器,要么使用具有在線API的批量服務。
SMSLib只是一個庫,可以更輕松地與網關(硬件設備)或批量SMS提供程序進行接口。 無論哪種方式,庫本身都是不夠的。
您提供的代碼示例似乎試圖使用連接到本地串行端口的網關,但是由於您沒有這樣的硬件設備,因此無法使用。
一種方法是使用SMS網關並將其像普通電子郵件一樣發送。
“我還發現了SMSLib代碼,但不理解”-
假設您了解面向Java /對象的編程,請通讀smslib的在線教程以了解基礎知識。 也許您可以從這個http://smslib.org/doc/smslib/quickstart/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.