使用sendTextMessage发送短信会有70字限制,超过字数会自动拆分,接收方收到的是拆分后的短信,严重影响阅读。解决办法是,超过70字时使用sendMultipartTextMessage发送,这样虽然也是拆分发送,但接收方收到的是一条完整的短信。
if(message.length() > 70){
//拆分短信
ArrayList<String> phoneList = smsManager.divideMessage(message);
//发送短信
smsManager.sendMultipartTextMessage(iterator.next(), null, phoneList, sendIntentList, null);
}else {
//不超过70字时使用sendTextMessage发送
smsManager.sendTextMessage(iterator.next(), null, message, sendIntent, deliverIntent);
}
注意使用sendMultipartTextMessage时sendIntent和deliverIntent也要list类型,直接创建一个数组把sendIntent放进去就好了。