2013-06-11 3 views
1

Я хочу, чтобы мое приложение Java отправляло и принимало SMS без использования каких-либо дополнительных аппаратных устройств, и оно должно быть бесплатным.Как отправлять и получать SMS в java?

Я сделал поиск, но все, что я нашел, это названия, я нашел что-то вроде SMSLib, но с другой стороны я не нашел учебники или книги, чтобы узнать это.

Я также обнаружил, что SMSLib код, но не понял:

Отправить сообщение/SMS Код

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); 
} 
} 

Читать сообщения/SMS Коды

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; 
} 
} 
+0

Используйте последовательный и логический отступ для кодовых блоков. Отступ кода предназначен для того, чтобы помочь людям понять поток программы! –

+0

@AndrewThompson это не мой код, так как я сказал, что нашел его только при поиске –

+1

Вы, очевидно, ищете не в тех местах. Избегайте roseindia (или любого другого сайта, который не может отобразить отступом код), как вы могли бы избежать чумы .. –

ответ

5

Для отправки SMS-сообщений у вас есть два варианта: либо мы e модем шлюза или использовать массовый сервис с онлайн-API.

SMSLib - это только библиотека, которая делает это проще для взаимодействия со шлюзом (аппаратным устройством) или с массовым поставщиком SMS. В любом случае, сама библиотека недостаточно.

Образец кода, который вы указали, пытается использовать шлюз, подключенный к локальному последовательному порту, но поскольку у вас нет такого аппаратного устройства, оно не будет работать для вас.

+0

Итак, как насчет использования услуги? что вы мне порекомендовали в этом? –

+0

У меня нет опыта работы с онлайн-сервисами для отправки SMS-сообщений. Но если вы хотите поиграть с аппаратным шлюзом, я использовал Moxa OnCell раньше, и это довольно просто сделать. –

+0

, но это общее приложение, и я не могу использовать специальное оборудование для этого этапа. –

2

Один из способов - использовать SMS gateway и отправить их как обычные электронные письма.

+0

у вас есть источник, из которого я могу узнать это? –

1

«Я также обнаружил, что SMSLib код, но не понял» -

Предполагая, что вы знаете, Java/объектно-ориентированного программирования, прочитать онлайн учебник по smslib для понимания основы. Возможно, вы можете начать с этого http://smslib.org/doc/smslib/quickstart/

+0

, как уже ответил @MikyDinescu, образец кода определенно использует аппаратное обеспечение, возможно, модем huawei E220, подключенный к порту COM4 со скоростью 9600 бод. – Yeasir

+0

Я нашел этот сайт раньше, но я думаю, что это общий разговор, я хочу, чтобы что-то научило меня теоретически и программно –