没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Java 代码
1. /**
2. *为长短信获取短信内容增加 TP_udhi 协议头
3. *1.系统设置为发送短短信时直接获取短信实体的短信内容。TP_udhi=0
4. *2.系统设置为发送长短信时按照长短信协议分段在每段前增加 udhiHead。TP_udhi=1
5. *3.系统采用 7 个字节的 TP_udhi 协议头(2 字节短信标志,2 的 32 次方内的随机数,但也有可能产生相同标志)
6. *@authorAaron
7. */
8. publicArrayList<byte[]>getUCS2MsgContents(byte[]messageUCS2)
9. throwsException{
10.
11. ArrayList<byte[]>ucs2msgList=newArrayList<byte[]>();
12. intmessageUCS2Len=messageUCS2.length;//短信字节数
13. intmaxMessageLen=140;//标准短信最大字节数
14. intmessageUCS2Count;//短信分段数
15.
16. //长短信
17. messageUCS2Count=messageUCS2Len/(maxMessageLen-7)+1;
18. byte[]tp_udhiHead=newbyte[7];
19. Randomrandom=newRandom();
20. random.nextBytes(tp_udhiHead);//为了随机填充第 4、5 个字段
21. tp_udhiHead[0]=0x06;//表示剩余协议头的长度
22. tp_udhiHead[1]=0x08;//这个值在 GSM03.40 规范 9.2.3.24.1 中规定,表示随后的这批超长短信的标识位
长度为 2
23. tp_udhiHead[2]=0x04;//表示剩余协议头的长度
24. //tp_udhiHead[3]//同一批短信的标志
25. //tp_udhiHead[4]//同一批短信的标志
26. tp_udhiHead[5]=(byte)messageUCS2Count;
27. tp_udhiHead[6]=0x01;//默认为第一条
28.
29. byte[]msgContent;//分割后的每条短信
30. for(inti=0;i<messageUCS2Count;i++){
31. tp_udhiHead[6]=(byte)(i+1);//设置分段标志
32. if(i!=messageUCS2Count-1){//不为最后一条
33. msgContent=byteAdd(tp_udhiHead,messageUCS2,i
34. *(maxMessageLen-7),(i+1)*(maxMessageLen-7));
35. ucs2msgList.add(msgContent);
36. }else{
37. msgContent=byteAdd(tp_udhiHead,messageUCS2,i
38. *(maxMessageLen-7),messageUCS2Len);
39. ucs2msgList.add(msgContent);
40. }
41. }
42. returnucs2msgList;
43. }
44.
45. /**
46. *拼接头尾
资源评论
- 绿了芭蕉_blog2015-05-26还看不太懂,就一段程序,不知道怎么用啊
- 拜健2018-05-02东西不错,做为参考还是很好的。
- lemon_20072014-07-12写的很好,很有用。
- feichuimailang2014-11-19写的不错,用模拟器跑,成功了,但模拟器显示的是字节数组,还没在正式网关上试,不知道正式环境行不行
的风格都是
- 粉丝: 0
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功