2016-03-30 9 views
0

私はsmslib APIを使用してメッセージを送信しようとしています。正直なところ私はサンプルプロジェクトをダウンロードするために情報はほとんどありません教えられたようにそれぞれの場所にライブラリを置く。メッセージを送信するために私のクラスには、次のとおりです。org.smslib.GatewayException:Commライブラリ例外:java.lang.RuntimeException:javax.comm.NoSuchPortException

public class SendMessage{ 
    public void doIt() throws Exception 
    { 
      OutboundNotification outboundNotification = new OutboundNotification(); 
      System.out.println("Example: Send message from a serial gsm modem."); 
      System.out.println(Library.getLibraryDescription()); 
      System.out.println("Version: " + Library.getLibraryVersion()); 
      SerialModemGateway gateway = new SerialModemGateway("modem.com4", "COM4", 9600, "", ""); 
      gateway.setInbound(true); 
      gateway.setOutbound(true); 
      Service.getInstance().setOutboundMessageNotification(outboundNotification); 
      Service.getInstance().addGateway(gateway); 
      Service.getInstance().startService(); 
      System.out.println(); 
      System.out.println("Modem Information:"); 
      System.out.println(" Manufacturer: " + gateway.getManufacturer()); 
      System.out.println(" Model: " + gateway.getModel()); 
      System.out.println(" Serial No: " + gateway.getSerialNo()); 
      System.out.println(" SIM IMSI: " + gateway.getImsi()); 
      System.out.println(" Signal Level: " + gateway.getSignalLevel() + " dBm"); 
      System.out.println(" Battery Level: " + gateway.getBatteryLevel() + "%"); 
      System.out.println(); 
      OutboundMessage msg = new OutboundMessage("contact_num", "Hello from SMSLib!"); 
      Service.getInstance().sendMessage(msg); 
      System.out.println(msg); 
      System.out.println("Now Sleeping - Hit <enter> to terminate."); 
      System.in.read(); 
      Service.getInstance().stopService(); 
    } 

    public class OutboundNotification implements IOutboundMessageNotification 
    { 
      public void process(AGateway gateway, OutboundMessage msg) 
      { 
        System.out.println("Outbound handler called from Gateway: " + gateway.getGatewayId()); 
        System.out.println(msg); 
      } 
    } 

    public static void main(String args[]) 
    { 
      SendMessage app = new SendMessage(); 
      try 
      { 
        app.doIt(); 
      } 
      catch (Exception e) 
      { 
        e.printStackTrace(); 
      } 
    } 

}

ライン

   Service.getInstance().startService(); 

を実行する上で、私は例外を取得:

org.smslib.GatewayException:Commのライブラリの例外を:java.lang.RuntimeException:javax.comm.NoSuchPortException at org.smslib.modem.SerialModemDriver.connectPort (SerialModemDriver.java:102) at org.smslib.modem.AModemDriver.connect(AModemDriver.java:114) at org.smslib.modem.ModemGateway.startGateway(ModemGateway.java:189) at org.smslib.Service $ 1Starter.run(Service.java:277)

私はGSMモデムを持っていないので、これはいくつかの質問があります。

  1. 私は、GSMモデムに私のアンドロイド携帯電話を変えることができます。

  2. SerialModemGateway( "modem.com4"、 "COM4"、9600、 ""、 "");でmodem.com4とは何ですか?平均。

私は、GSMモデムが、運に自分の携帯電話をオンにする方法について多くのことを検索。

答えて

0

質問1:はい、私はあなたがそれを行うことができると思います。

質問2(COMポートを取得する):どのOSを使用していますか? Windows用 -

  • 携帯電話ドライバをインストールして、モバイルをPCに接続するだけです。 (通常はモバイルパッケージのディスクにドライバがあります)
  • 次に、Windowsのコントロールパネルから "電話とモデム"を開きます。
  • 次に、[モデム]タブをクリックします。これですべてのモデムとCOM番号が表示されます。
  • アプリケーションで携帯電話のCOMポートを使用します。

「電話とモデム」で自分の携帯電話名がモデムとして表示されない場合は、携帯電話をGSMモデムとして使用できないことを意味します。

+0

ありがとうございました:) モデムとして自分のAndroidを使用できるかどうかを確認しようとしていますが、私の他の問題を解決するのに役立ちましたので、私は正しいとマークします:) –

関連する問題