Code Bye

Android 接收短信的foreach语句为什么这么写

String fullMessage=””;
for(SmsMessage message:Messages){
fullMessage+=message.getMessageBody();
}
为什么写+=?莫非短信是一段一段接收的?
解决方案

5

没做过这个。
本人猜测原理可能是这样的:运营商规定了一条短信的长度。但有时比较长的短信,运营商那边算两条或三条,但用户看的话,肯定更希望两条或三条是合在一起的。

10

回想你以前用诺基亚时,你收长短信是不是一段一段地收?
超过一定长度(好像是70)的短信运营商是分段的,你收到了手机再帮你合并
具体实现可以看看storeMessage的源码

5

短信长度有上限的

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Android 接收短信的foreach语句为什么这么写