Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 用 Java 通过串口发送手机短信(二)简单使用
【标  题】:用 Java 通过串口发送手机短信(二)简单使用
【关键字】:Java
【来  源】:http://www.blogjava.net/qujinlong123/archive/2007/04/13/110397.html

用 Java 通过串口发送手机短信(二)简单使用

Your Ad Here 用 Java 通过串口发送手机短信(二)简单使用 - Long - BlogJava

Long

  - long way to go...

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  3 随笔 :: 0 文章 :: 2 评论 :: 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, 所以在上面的代码中没有设置。

在后面的文章中我会继续介绍收发短信时各个参数的意义及如何设置。
posted on 2007-04-13 12:09 Long 阅读(271) 评论(0)  编辑 收藏 引用 所属分类: Java
佛经上181条做人的道理箴言[转]:【上一篇】
WindowBuilderPro,SWTDesigner,GWTDesigner安装与注册:【下一篇】
【相关文章】
  • Java2游戏编程读书笔记(10-2)
  • 转贴:JavaScript 对象与数组参考大全
  • [原创]JavaScript版仿Windows扫雷(源码2)
  • Web 2.0应用存在缺陷 Javascript导致泄密
  • java string 中的split方法
  • 请问在Java中的问题,谢谢????
  • 如何在Java程序内实现键盘监听?
  • java中日期、日期格式、日期的解析和日期的计算
  • java zip 中文问题
  • JAVA版的4种排序法
  • 【随机文章】
  • 捕获浏览器关闭事件
  • JNCIS-M BETA考试范围 (考试代码:JN1-303)
  • Linux 2.4有状态防火墙设计(四)
  • CFile操作详解
  • PHOTOSHOP与无缝贴图
  • 【分享】【08-22】注册精品软件下载
  • Maya 4.0 刚体和柔体-刚体动力学(1)
  • CMenuButton的实现
  • 6类布线系统常见问题解答(一)
  • 光传输眼观六路
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.