if(New_Message.length()>140){//如果超过140字符,需拆分成多条短信发送
Log.i("divide",New_Message);
// String []MSG=null;
// MSG[0]=New_Message.substring(0,120);
// 自己拆分短信,发送时报错
// MSG[1]=New_Message.substring(120,New_Message.length());
List<String> msgs = smsManager.divideMessage(New_Message);
// List<String> msgs=new ArrayList();
// msgs.add(MSG[0]);
// msgs.add(MSG[1]);
// ArrayList<PendingIntent> sentIntents=new ArrayList<PendingIntent>(msgs.size());
// ArrayList<PendingIntent> deliveryIntents=new ArrayList<PendingIntent>(msgs.size());
// smsManager.sendMultipartTextMessage(number,null,msgs, sentIntents,deliveryIntents);
for(String msg : msgs){
Log.i("divide",msg);
//用sendTextMessage发送,第一条接收不到,第二条接收的到
//sendsendMultipartTextMessage 能发送 收到的不完整 smsManager.sendTextMessage(number,null,msg,sentPI,deliverPI);
}
//最后二个参数为短信已发送的广播意图,最后一个参数为短信对方已收到短信的广播意图
}else{
smsManager.sendTextMessage(number, null, New_Message, sentPI, deliverPI);
}
我做的是一个点对点的发送与接收的软件,用这个软件发送,用这个软件接收,系统短信不响应。
我现在想做的就是在这个超过140字符的字符串,头部和尾部个加入一个标示符,之后分条发送出去! 要是有其他方法也行,请高人指点啊!
有类似的问题看到过,截取部分代码:
//如果短信内容超过70个字符 将这条短信拆成多条短信发送出去
if (message.length() > 70) {
ArrayList<String> msgs = sms.divideMessage(message);
for (String msg : msgs) {
//TODO 你自己需要首尾加的标志
sms.sendTextMessage(phoneNumber, null, msg, sentPI, deliverPI);
}
} else {
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliverPI);
}