簡體   English   中英

如何使用Java發送和接收SMS?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM