长短信发送问题。
1.将信息长度拆开发送。
2.为了解决长短信拆分发送,在手机终端,收到的顺序错乱,所以在每一段短信发送完成后,延时5秒,这样在手机终端客户收到的信息,就会按照拆分的顺序发送。
//信息总长度
int sumlength = aMessage.length();
int sta = 0; // 开始截取位置
int end = 50; // 每次截取长度
String msg = null; // 临时短信内容
int mNumber; // 分割条数
mNumber = sumlength / end + 1;
// 将短信拆分到List中 每50字一条 发送
if(sumlength>50){
for (int i = 1; i < mNumber + 1; i++) {
//最后一条截取方式
if (i == mNumber) {
msg = aMessage.substring(sta, sumlength);
} else {
msg = aMessage.substring(sta, end * i);
}
//发送的消息进行转码GB2312 /iso-10646-ucs-2
byte[] MessageContent =msg.getBytes("GB2312");
tResult=sendmessage(MessageContent,aPhoneNum);
Thread.sleep(5000);
sta = i * end;
}
}
长短信6字节协议在网上也没找到具体的代码片段,如果能有更好的解决方法请大家积极参与,与评论。