android發送短信代碼(短信內容超長處理)


一條短信只可容納70個中文,所以當短信長度超過70個中文字符時程序就要特殊處理了。

 

有兩種方式:

1.通過sendTextMessage()方法依次發送拆分后的短信,該方式有個弊端就是用戶會分條收到短信。

 
  1. if (message.length() > 70) {  
  2.     ArrayList<String> msgs = sms.divideMessage(message);  
  3.     for (String msg : msgs) {  
  4.         sms.sendTextMessage(phoneNumber, null, msg, sentPI, deliverPI);  
  5.     }  
  6. }else {  
  7.        sms.sendTextMessage(phoneNumber, null, message, sentPI, deliverPI);  
  8. }  

2.通過sendMultipartTextMessage()方法發送超長短信,這種方式還是發送多條短信,但用戶收到的短信會是連在一起的一整條。

  

  1. if (message.length() > 70) {  
  2.     ArrayList<String> msgs = sms.divideMessage(message);  
  3.     ArrayList<PendingIntent> sentIntents =  new ArrayList<PendingIntent>();  
  4.     for(int i = 0;i<msgs.size();i++){  
  5.        sentIntents.add(sentPI);  
  6.     }  
  7.     sms.sendMultipartTextMessage(phoneNumber, null, msgs, sentIntents, null);  
  8. else {  
  9.      sms.sendTextMessage(phoneNumber, null, message, sentPI, deliverPI);  
  10. }  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM