【发布时间】:2013-03-09 03:50:01
【问题描述】:
我是 Java 编程新手。我使用smsj api 通过 gsm 调制解调器将消息从 pc 发送到移动设备。我已经成功地能够使用SmsSender.sendTextSms(msg, reciever, sender) 发送纯文本消息以及使用SmsSender.sendUnicodeTextSms("smsj हिन्दी मेसेज", reciever); 发送unicode 消息。
他们说它也支持 EMS 消息。我正在尝试通过它发送图片信息(黑白)和音频剪辑。但我无法弄清楚如何做到这一点。
documentation 表明有一个类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 类的正确语法是什么?
【问题讨论】:
-
你肯定不是 Java 新手
-
@Yohan 我有 java 的基本知识。到目前为止,我所实施的一切都是通过互联网上的各种链接来实现的。