自己做的短信发送界面,把选好的所有号码放在一个list里面,遍历该list调用发送短信方法。如果短信字数超过一页长度,就调用发送长短信方法:sms.sendMultipartTextMessage(phone, null, texts, null, null);如果没有超过长度,就用普通的发送短信方法:sms.sendTextMessage(phone, null, text, pi, null);问题是现在发送长短信的时候有问题,测试的时候,放了三个号码在list里,循环发送,三星note2运行的时候,只有两个号码收到短信,中间的号码没收到。三星i699运行的时候,一个都没发出去,魅族2运行,全部正常收到。note2和三星i699都调试过,所有代码正常运行,也调用了发送代码,完全没有异常,就是发不出去短信。后来把发送内容改少一点,不超过一页,就所有手机都能发出去。
帖代码
帖代码
// 发送短信
SmsManager sms = SmsManager.getDefault();
PendingIntent pi = PendingIntent.getBroadcast(
GroupMsgAT.this, 0, new Intent(), 0);
for(int i=0;i<x;i++){
String phone = selctList.get(i).getMobilephone().replace(" ", "").replace(" ", "");
// 将短信内容分割
ArrayList<String> texts = sms.divideMessage(msgContent);
if (texts.size() > 1) {
sms.sendMultipartTextMessage(phone, null,
texts, null, null);
} else {
sms.sendTextMessage(phone, null, msgContent, pi, null);
}
// 将记录放入短信信箱
ContentValues values = new ContentValues();
values.put("address", selctList.get(i).getMobilephone()
.replace(" ", "").replace(" ", ""));
values.put("body", msgContent);
values.put("date", System.currentTimeMillis());
values.put("read", 0);
values.put("type", 2);
values.put("service_center", "+8613010776500");
getContentResolver().insert(mSmsUri, values);
}