- 論壇徽章:
- 0
|
一條短信只可容納70個(gè)中文,所以當(dāng)短信長(zhǎng)度超過(guò)70個(gè)中文字符時(shí)程序就要特殊處理了。
有兩種方式:
1.通過(guò)sendTextMessage()方法依次發(fā)送拆分后的短信,該方式有個(gè)弊端就是用戶會(huì)分條收到短信。- if (message.length() > 70) {
- ArrayList<String> msgs = sms.divideMessage(message);
- for (String msg : msgs) {
- sms.sendTextMessage(phoneNumber, null, msg, sentPI, deliverPI);
- }
- }else {
- sms.sendTextMessage(phoneNumber, null, message, sentPI, deliverPI);
- }
復(fù)制代碼 2.通過(guò)sendMultipartTextMessage()方法發(fā)送超長(zhǎng)短信,這種方式還是發(fā)送多條短信,但用戶收到的短信會(huì)是連在一起的一整條。- if (message.length() > 70) {
- ArrayList<String> msgs = sms.divideMessage(message);
- ArrayList<PendingIntent> sentIntents = new ArrayList<PendingIntent>();
- for(int i = 0;i<msgs.size();i++){
- sentIntents.add(sentPI);
- }
- sms.sendMultipartTextMessage(phoneNumber, null, msgs, sentIntents, null);
- } else {
- sms.sendTextMessage(phoneNumber, null, message, sentPI, deliverPI);
- }
復(fù)制代碼 |
|