<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Thinker

      - long way to go...

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      24 隨筆 :: 0 文章 :: 143 評論 :: 0 Trackbacks
    先簡單的來介紹一下如何使用 SMSLib 收發短信。
    SMSLib 的唯一的入口類是 CService 類,該類主要負責設置各種訪問手機的參數,以及提供收發短信的功能。
    CService 類只有一個構造函數 CService(String port, int baud, String gsmDeviceManufacturer, String gsmDeviceModel) 其中 port 是串口的端口號如 "COM5",baud 是訪問串口的速率,該值的設定可以根據你的設備管理器里面的串口的屬性中支持的波特率設定合適的值,gsmDeviceManufacturer, gsmDeviceModel 這兩個參數主要是用來確定具體的 ATHandler 的實現,如果你想用 SMSLib 默認的 ATHandler,這兩個值都可以設置為 null 或者 "", 如果你想采用適合你自己手機型號的特定的 ATHandler 的時候,只要自己寫一個繼承 AbstractATHandler 的實現類,然后再用相關名稱標識設置 gsmDeviceManufacturer, gsmDeviceModel 的值就可以了。

    接收短信的代碼如下:
     1     try
     2     {
     3       CService srv = new CService("COM5"9600nullnull);
     4 
     5       srv.connect();
     6 
     7       LinkedList messageList = new LinkedList();
     8 
     9       srv.readMessages(messageList, CIncomingMessage.MessageClass.All);
    10 
    11       // TODO: 處理返回的 messageList。
    12 
    13       srv.disconnect();
    14     }
    15     catch (Exception e)
    16     {
    17       e.printStackTrace();
    18     }

    上面的代碼是讀取手機中全部的短信,你也可以通過設置 CIncomingMessage.MessageClass 參數來讀取不同類型的短信,比如 CIncomingMessage.MessageClass.Read 表示只讀取已讀短信,CIncomingMessage.MessageClass.Unread 表示只讀取未讀短信,你也可以使用 readMessages(LinkedList messageList, int messageClass, int limit) 讀取你想要的指定數目的幾條短信。

    發短信的過程也很簡單,代碼如下:
     1     try
     2     {
     3       CService srv = new CService("COM5"9600nullnull);
     4 
     5       srv.connect();
     6 
     7       COutgoingMessage msg = new COutgoingMessage("138102*****""我的第一條短信。。。");
     8 
     9       msg.setMessageEncoding(CMessage.MessageEncoding.EncUcs2);
    10 
    11       srv.sendMessage(msg);
    12 
    13       srv.disconnect();
    14     }
    15     catch (Exception e)
    16     {
    17       e.printStackTrace();
    18     }

    發送中文短信時要設置消息的編碼方式為 CMessage.MessageEncoding.EncUcs2,而且還要設置手機發送短信的協議為 PDU 模式,CService 默認的協議就是 PDU, 所以在上面的代碼中沒有設置。

    在后面的文章中我會繼續介紹收發短信時各個參數的意義及如何設置。

    http://www.tkk7.com/qujinlong123/
    posted on 2007-04-13 12:09 Long 閱讀(5866) 評論(5)  編輯  收藏 所屬分類: Java

    評論

    # re: 用 Java 通過串口發送手機短信(二)簡單使用 2007-04-26 06:20 bravezyj
    寫得好!謝謝!  回復  更多評論
      

    # re: 用 Java 通過串口發送手機短信(二)簡單使用 2007-12-06 14:33 Steven suo
    為什么在我下載的smslib的src中沒有發現CService這個類呢,麻煩指教一下,謝謝先!  回復  更多評論
      

    # re: 用 Java 通過串口發送手機短信(二)簡單使用 2008-12-14 13:49 弋孤秋
    @Steven suo
    我也沒有找到CService這個類!!  回復  更多評論
      

    # re: 用 Java 通過串口發送手機短信(二)簡單使用 2009-03-25 09:17 Hermes
    你可能下錯了!我下的是smslib-java-v2[1].1.5.zip
    這個里面就有。。  回復  更多評論
      

    # re: 用 Java 通過串口發送手機短信(二)簡單使用 2009-11-20 16:19 xl
    處理返回的 messageList

    如何處理返回的Messaglist 我的C#中用 <string> messagelist 提示出錯  回復  更多評論
      

    主站蜘蛛池模板: 国产成人亚洲影院在线观看| 免费人成年激情视频在线观看| 亚洲精品乱码久久久久久蜜桃不卡| 美女被艹免费视频| 亚洲av无码国产精品色在线看不卡| 亚洲国产精品18久久久久久| 国产精品深夜福利免费观看| 在线91精品亚洲网站精品成人| 又粗又大又猛又爽免费视频| 美美女高清毛片视频黄的一免费| www国产亚洲精品久久久| 一级毛片大全免费播放| 久久精品国产亚洲麻豆| 69视频在线观看高清免费| 亚洲一区二区三区在线网站| 女人18毛片免费观看| 边摸边吃奶边做爽免费视频99| 亚洲另类激情专区小说图片| 成人性做爰aaa片免费看| 久久久无码精品亚洲日韩按摩| 中字幕视频在线永久在线观看免费 | 好久久免费视频高清| 亚洲AV人无码综合在线观看| 日本免费久久久久久久网站| 亚洲免费二区三区| 国产传媒在线观看视频免费观看| 本免费AV无码专区一区| 亚洲成av人片不卡无码| 日本成人在线免费观看| 中文字幕无码毛片免费看| 亚洲国产综合精品| 亚洲国产成人五月综合网| 美丽姑娘免费观看在线观看中文版| 亚洲五月综合缴情婷婷| 亚洲精品国产精品国自产观看| 一级毛片在线免费看| 亚洲av日韩专区在线观看| 久久国产精品亚洲综合| 永久免费无码网站在线观看| 免费人成在线观看视频高潮| 亚洲欧洲日韩极速播放|