免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1245 | 回复: 0
打印 上一主题 下一主题

[Android] android发送短信代码(短信内容超长处理) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-27 14:24 |只看该作者 |倒序浏览
一条短信只可容纳70个中文,所以当短信长度超过70个中文字符时程序就要特殊处理了。



有两种方式:

1.通过sendTextMessage()方法依次发送拆分后的短信,该方式有个弊端就是用户会分条收到短信。
  1. if (message.length() > 70) {  
  2.     ArrayList<String> msgs = sms.divideMessage(message);  
  3.     for (String msg : msgs) {  
  4.         sms.sendTextMessage(phoneNumber, null, msg, sentPI, deliverPI);  
  5.     }  
  6. }else {  
  7.        sms.sendTextMessage(phoneNumber, null, message, sentPI, deliverPI);  
  8. }  
复制代码
2.通过sendMultipartTextMessage()方法发送超长短信,这种方式还是发送多条短信,但用户收到的短信会是连在一起的一整条。
  1. if (message.length() > 70) {  
  2.     ArrayList<String> msgs = sms.divideMessage(message);  
  3.     ArrayList<PendingIntent> sentIntents =  new ArrayList<PendingIntent>();  
  4.     for(int i = 0;i<msgs.size();i++){  
  5.        sentIntents.add(sentPI);  
  6.     }  
  7.     sms.sendMultipartTextMessage(phoneNumber, null, msgs, sentIntents, null);  
  8. } else {  
  9.      sms.sendTextMessage(phoneNumber, null, message, sentPI, deliverPI);  
  10. }  
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP