我是java编程新手。我已经使用smsj api通过 gsm 调制解调器将消息从 pc 发送到移动设备。我已经成功地能够使用 . 发送纯文本消息SmsSender.sendTextSms(msg, reciever, sender)
以及使用SmsSender.sendUnicodeTextSms("smsj हिन्दी मेसेज", reciever);
.
他们说它也支持EMS消息。我正在尝试通过它发送图片信息(黑白)和音频剪辑。但我无法弄清楚如何做到这一点。
文档显示有一个EmsMessage
实现的类SmsMessage
但我找不到有关如何使用它的任何详细信息。我也浏览了它的论坛,但又找不到任何解决方案。
希望有人可以指导我。
这是我发送短信的代码..
public class SendMessage {
public void send() {
try{
SmsSender smsSender = SmsSender.getGsmSender("COM14");
String msg ="smsj test message";
String reciever = "919790968633";
String sender ="919176968289";
smsSender.connect();
smsSender.sendTextSms(msg, reciever, sender); //simple text message
smsSender.sendUnicodeTextSms("smsj हिन्दी मेसेज", reciever); //unicode message
smsSender.disconnect();
} catch(IOException i){
i.printStackTrace();
System.out.println("i");
} catch(SmsException s){
s.printStackTrace();
System.out.println("s");
}
}
public static void main(String args[]){
SendMessage app = new SendMessage();
app.send();
}
}
我尝试使用此代码发送 ems 消息.. 但它似乎是错误的。
EmsMessage ems = new EmsMessage();
ems.addText(msg);
SmsMessage sms ;
sms=ems;
smsSender.sendSms(sms, reciever, sender);
我收到此错误消息:
60 [main] INFO org.marre.sms.transport.gsm.SerialComm - >> AT+CMGF=0
261 [main] INFO org.marre.sms.transport.gsm.SerialComm - <<
261 [main] INFO org.marre.sms.transport.gsm.SerialComm - << OK
Exception in thread "main" java.lang.NullPointerException
at org.marre.sms.transport.gsm.GsmTransport.send(GsmTransport.java:175)
at org.marre.SmsSender.sendSms(SmsSender.java:551)
at org.marre.SendMessage.send(SendMessage.java:44)
at org.marre.SendMessage.main(SendMessage.java:58)
谁能帮我使用这个 EmsMessage 和 SmsMessage 类的正确语法是什么?