<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 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      24 隨筆 :: 0 文章 :: 143 評(píng)論 :: 0 Trackbacks
    先簡(jiǎn)單的來(lái)介紹一下如何使用 SMSLib 收發(fā)短信。
    SMSLib 的唯一的入口類是 CService 類,該類主要負(fù)責(zé)設(shè)置各種訪問(wèn)手機(jī)的參數(shù),以及提供收發(fā)短信的功能。
    CService 類只有一個(gè)構(gòu)造函數(shù) CService(String port, int baud, String gsmDeviceManufacturer, String gsmDeviceModel) 其中 port 是串口的端口號(hào)如 "COM5",baud 是訪問(wèn)串口的速率,該值的設(shè)定可以根據(jù)你的設(shè)備管理器里面的串口的屬性中支持的波特率設(shè)定合適的值,gsmDeviceManufacturer, gsmDeviceModel 這兩個(gè)參數(shù)主要是用來(lái)確定具體的 ATHandler 的實(shí)現(xiàn),如果你想用 SMSLib 默認(rèn)的 ATHandler,這兩個(gè)值都可以設(shè)置為 null 或者 "", 如果你想采用適合你自己手機(jī)型號(hào)的特定的 ATHandler 的時(shí)候,只要自己寫一個(gè)繼承 AbstractATHandler 的實(shí)現(xiàn)類,然后再用相關(guān)名稱標(biāo)識(shí)設(shè)置 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     }

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

    發(fā)短信的過(guò)程也很簡(jiǎn)單,代碼如下:
     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     }

    發(fā)送中文短信時(shí)要設(shè)置消息的編碼方式為 CMessage.MessageEncoding.EncUcs2,而且還要設(shè)置手機(jī)發(fā)送短信的協(xié)議為 PDU 模式,CService 默認(rèn)的協(xié)議就是 PDU, 所以在上面的代碼中沒(méi)有設(shè)置。

    在后面的文章中我會(huì)繼續(xù)介紹收發(fā)短信時(shí)各個(gè)參數(shù)的意義及如何設(shè)置。

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

    評(píng)論

    # re: 用 Java 通過(guò)串口發(fā)送手機(jī)短信(二)簡(jiǎn)單使用 2007-04-26 06:20 bravezyj
    寫得好!謝謝!  回復(fù)  更多評(píng)論
      

    # re: 用 Java 通過(guò)串口發(fā)送手機(jī)短信(二)簡(jiǎn)單使用 2007-12-06 14:33 Steven suo
    為什么在我下載的smslib的src中沒(méi)有發(fā)現(xiàn)CService這個(gè)類呢,麻煩指教一下,謝謝先!  回復(fù)  更多評(píng)論
      

    # re: 用 Java 通過(guò)串口發(fā)送手機(jī)短信(二)簡(jiǎn)單使用 2008-12-14 13:49 弋孤秋
    @Steven suo
    我也沒(méi)有找到CService這個(gè)類!!  回復(fù)  更多評(píng)論
      

    # re: 用 Java 通過(guò)串口發(fā)送手機(jī)短信(二)簡(jiǎn)單使用 2009-03-25 09:17 Hermes
    你可能下錯(cuò)了!我下的是smslib-java-v2[1].1.5.zip
    這個(gè)里面就有。。  回復(fù)  更多評(píng)論
      

    # re: 用 Java 通過(guò)串口發(fā)送手機(jī)短信(二)簡(jiǎn)單使用 2009-11-20 16:19 xl
    處理返回的 messageList

    如何處理返回的Messaglist 我的C#中用 <string> messagelist 提示出錯(cuò)  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 精品国产亚洲一区二区三区在线观看 | 亚洲ts人妖网站| 免费观看的毛片手机视频| 曰批免费视频播放免费| 亚洲综合视频在线观看| 婷婷亚洲天堂影院| 最近2022中文字幕免费视频| 亚洲国产欧美国产综合一区| 亚洲国产精品SSS在线观看AV| 成人免费a级毛片无码网站入口| 老司机精品免费视频| 久久久久se色偷偷亚洲精品av | 免费精品久久天干天干| 亚洲性无码一区二区三区| 国产亚洲一区区二区在线| 无遮免费网站在线入口| A毛片毛片看免费| 亚洲色偷偷偷综合网| 亚洲人成在线电影| 亚洲午夜福利精品久久| 美女被免费喷白浆视频| 黄页免费在线观看| 美女尿口扒开图片免费 | 花蝴蝶免费视频在线观看高清版| 亚洲综合丁香婷婷六月香| 亚洲国产三级在线观看| 免费高清在线影片一区| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 亚洲深深色噜噜狠狠爱网站| 免费观看的av毛片的网站| 97公开免费视频| a在线观看免费网址大全| 久久水蜜桃亚洲AV无码精品| 亚洲酒色1314狠狠做| 亚洲深深色噜噜狠狠爱网站| 国产伦一区二区三区免费 | 亚洲人成电影亚洲人成9999网| 精品国产亚洲男女在线线电影| 免费观看的av毛片的网站| 成人免费视频77777| 16女性下面扒开无遮挡免费|