问题描述
- Android我要发送超过140个字符,需要分拆发送,我需要对分拆的两条短信都进行标记
-
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);
???? ???}
时间: 2024-09-23 16:21:08