5

我是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 类的正确语法是什么?

4

1 回答 1

1

http://smsj.sourceforge.net/apidocs/org/marre/sms/ems/EmsMessage.html在这里你需要文档

addElement应该添加图形、电影等。

addText这应该添加文本

于 2013-03-20T07:41:56.507 回答