用 Java 通过串口发送手机短信(二)简单使用
2010-12-03 23:12
471 查看
先简单的来介绍一下如何使用 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", 9600, null, null);
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", 9600, null, null);
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, 所以在上面的代码中没有设置。
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", 9600, null, null);
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", 9600, null, null);
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, 所以在上面的代码中没有设置。
相关文章推荐
- linux下用java通过串口连接手机或短信猫发送中文短信的方法
- 用Java通过串口发送手机短信
- 用 Java 通过串口发送手机短信(一)环境安装设置
- Java使用【网易云信】短信接口,给手机用户发送并校验验证码
- java邮件发送的简单实现,使用javamail通过smtp协议发信
- 在电脑上使用AT命令通过手机发送短信
- 使用.net开发手机管理软件 (十二) 短信部分——通过RS232发送和接收短信
- 使用中国网建实现Java向手机发送短信的功能
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
- 使用JAVA向指定的手机发送指定短信
- 使用Java程序向手机发送短信
- 通过串口发送手机短信(C#版)1
- 用C#通过Nokia手机发送短信(使用Nokia SDK3.0/原创)
- 通过串口发送手机短信(C#版)2
- 手机连接PC通过串口发送PDU短信. 没有Iphone也可以欺骗了!
- JAVA邮件发送的简单实现,使用javamail通过smtp协议发信
- 通过串口发送手机短信(C#版)3
- 用java通过串口发送短信,并且部署到tomcat
- [导入]用C#通过Nokia手机发送短信(使用Nokia SDK3.0/原创)
- 通过串口发送手机短信(C#版)