找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 9594|回复: 1

Java中利用通讯API编写短信软件4

[复制链接]
发表于 2009-11-27 01:21:46 | 显示全部楼层 |阅读模式 IP:江苏扬州
接下来实现负责通过数据线和手机通信的类OperateMobile。这个类可以通过send方法控制手机发送短信。
public class OperateMobile
...{
private MySerial mySerial;
private static char symbol = 10;
private static char symbol1 = 13;

public static boolean open(int port) ...{
mySerial = new MySerial(port);
if (mySerial.Initialize() == 1) ...{
return true;
}
else ...{
return false;
}
}
// 设置短信发送模式
private static boolean setMode(int mode)
String strReturn, strSend = “”;
try ...{
// 模式字符串
strSend = "AT+CMGF=" + String.valueOf(mode) +
String.valueOf(symbol1);
// 将模式通过COM口写入手机
mySerial.WritePort(strSend);
strReturn = "";
// 从手机读出长度为6的返回信息,如果包含“OK”,则说明设置成功
strReturn = mySerial.ReadPort(6);
if (strReturn.indexOf("OK", 0) != -1) ...{
return true;
}
return false;
}
catch (Exception ex) ...{
return false;
}
}
public static boolean send (String phoneCode, String msg) ...{
String strReturn = “”, strSend = “”;
char symbol2 = 34;
char symbol3 = 26;
if (setMode(1) != true) ...{ // 设置短信发送模式
return false;
}
try ...{
strSend = "AT+CSMP=1,173,36,08" + String.valueOf(symbol1);
mySerial.writePort(strSend);
sleep(300);
strReturn = mySerial.ReadPort(6); // 读返回字符串
if (strReturn.indexOf("OK", 0) != -1) ...{ // 如果成功,进行下一步
// 将对方的电话号传入手机
strSend = "AT+CMGS=" + String.valueOf(symbol2) + phoneCode +
String.valueOf(symbol2) +
String.valueOf(symbol1);
mySerial.writePort(strSend);
strReturn = "";
sleep(200);
strReturn = mySerial.ReadPort(4);
byte[] str1 = null;
try ...{
str1 = msg.getBytes("GBK");
}
catch (Java.io.UnsupportedEncodingException e) ...{
e.printStackTrace();
}
// 将发送信息变成十六进制发送
strSend = encodeHex(str1, msg) + String.valueOf(symbol3) +
String.valueOf(symbol1);
mySerial.writePort(strSend);
sleep(200);
strReturn = mySerial.ReadPort(8); // 读信息以确定是否发送成功
if (strReturn.indexOf("+CMGS", 0) != -1) ...{
System.out.println("OK");
return true;
}
}
return false;
}
catch (Exception ex) ...{
ex.printStackTrace();
return false;
}
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 19:32 , Processed in 0.461524 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表