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);
}