一条短信只可容纳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. }

android发送短信代码(短信内容超长处理)的更多相关文章

  1. android发送与接收超长短信

    android发送与接收超长短信 android接收发送短信,支持的最大字符数是70个,实际是67个字符,如果发送的短信超过了该数目,那就需要用到sendMultipartTextMessage()方 ...

  2. Android 发送验证码 简易代码

    效果 Activity ;//倒计时 private Timer timer; private Handler handler = new Handler() { public void handle ...

  3. android 发送短信的两种方式,以及接收报告和发送报告

               android发送短信,以及接收报告和发送报告          android中发送短信其实有两种方式,这个和打电话类似,大家可以了解一下:    一.调起系统发短信功能    ...

  4. Android 发送短信总结

    SMS涉及的主要类SmsManager 实现SMS主要用到SmsManager类,该类继承自java.lang.Object类,下面我们介绍一下该类的主要成员. 公有方法: ArrayList< ...

  5. android 发送短信 怎样做到一条一条的发送,仅仅有在上一条发送成功之后才发送下一条短信

    android发送短信截获上一条发送是否成功,然后再来发送下一条短信 1.问题:在项目中遇到例如以下要求:待发短信有N条,实现一条一条的发送并在上一条短信发送成功之后再来发送下一条. for(int ...

  6. Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)

    结果: 1.不提示发短信卡住,点击没有反映,我猜想,可能是因为我用的是小米手机吧. 2.接收短信报错,我猜想可能是我改了里面的方法吧(哪位大神了解,求指教). 3.project -->opti ...

  7. Ztorg木马分析: 从Android root木马演变到短信吸血鬼

    本月第二次,Google 从官方应用商店 Google Play 中移除了伪装成合法程序的恶意应用.被移除的应用都属于名叫 Ztorg 的 Android 恶意程序家族.目前为止,发现的几十个新的Zt ...

  8. Android手机上监听短信的两种方式

    Android手机上监听短信有两种方式: 1. 接受系统的短信广播,操作短信内容. 优点:操作方便,适合简单的短信应用. 缺点:来信会在状态栏显示通知信息. AndroidManifest.xml: ...

  9. 4、下行短信发送WebService、下行短信发送服务 -功能详细设计 --短信平台

    3.  下行短信发送WebService 开发一个WebService,供第三方系统调用,用于发送短信.WebService接收数据后,将信息存储入数据库的短信发送数据表中. WebService参数 ...

随机推荐

  1. 第九周(1) Word邮件合并2

    第九周(1) Word邮件合并2 教学时间 2013-4-22 教学课时 2 教案序号 15 教学目标 1.进一步掌握邮件合并的技巧和方法.2.利用邮件合并制作准考证.3.掌握在同一页生成多个记录的方 ...

  2. JAVA遍历HashMap和ArrayList

    List Map 基础信息 HashMap 最近写程序经常需要遍历集合,所以总结一下内容: 一.简单实现 Map map = new HashMap(); for(Object o : map.key ...

  3. 算法笔记_204:第四届蓝桥杯软件类决赛真题(Java语言C组)

    目录 1 好好学习 2 埃及分数 3 金蝉素数 4 横向打印二叉树 5 危险系数 6 公式求值   前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 好好学习 汤姆跟爷爷来中国旅游.一天,他帮助中国的 ...

  4. Pause Web Sessions

    To pause specific sessions, add rules using FiddlerScript to the OnBeforeRequest function (except wh ...

  5. Ajax实现文件上传的临时垃圾文件回收策略

    转载请注明原文出处:http://www.cnblogs.com/ygj0930/p/6126240.html 在我们web开发过程中,一个很重要的技术就是Ajax(异步传输).Ajax通过把数据从网 ...

  6. Android开发之底部导航栏标准

    以下是封装的库源码: package com.example.oldtab; import java.util.ArrayList; import android.content.res.Resour ...

  7. ROS中利用V-rep进行地图构建仿真

    V-rep中显示激光扫描点  在VREP自带的场景中找到practicalPathPlanningDemo.ttt文件,删除场景中多余的物体只保留静态的地图.然后在Model browser→comp ...

  8. java new关键字

    //new关键字://1.表示创建一个对象//2.表示实例化对象//3.表示申请内存空间 在python中其实就是一个实例化的过程

  9. appium环境搭建参考

    别人的安装经验,如果再遇到问题可以参考: http://www.cnblogs.com/fnng/p/4540731.html

  10. RHEL7 MariaDB测试

    MariaDB安装及启动: yum groupinstall mariadb 启动mariadb systemctl restart mariadb systemctl enable mariadb ...