數據加載中……
          Java 通過串口發短信2(轉)
          先簡單的來介紹一下如何使用 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, 所以在上面的代碼中沒有設置。

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

          posted on 2007-09-05 09:59 當扎瓦 閱讀(1323) 評論(2)  編輯  收藏

          評論

          # re: Java 通過串口發短信2(轉) 2008-06-25 15:08 begin

          我就照你的方法做的,還是不能發,能幫我看看嗎
          我的qq:414638049,謝了
            回復  更多評論    

          # re: Java 通過串口發短信2(轉) 2009-03-10 11:43 kingstone

          我已經倒入properties,dll,jar文件,但是CService類還是找不到,我到jar包里面找了,也沒有。
          請幫我看看好嗎?
          我的msn:kingstonebj@hotmail.com
          郵箱也是:kingstonebj@hotmail.com
            回復  更多評論    

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 牡丹江市| 鹤岗市| 吉木萨尔县| 冕宁县| 南川市| 蕲春县| 静乐县| 田阳县| 桂平市| 贺兰县| 山东省| 井冈山市| 汝州市| 平顶山市| 余干县| 恩施市| 聊城市| 浦江县| 历史| 永善县| 德保县| 阿拉善右旗| 鹤庆县| 嘉祥县| 阳城县| 永春县| 兰坪| 淮滨县| 望都县| 江津市| 昌江| 安庆市| 湘潭县| 天峻县| 河津市| 尚志市| 旌德县| 长汀县| 沭阳县| 濉溪县| 如皋市|