SmsManager#sendTextMessage的BUG

 这个函数当text过长,无法用一条SMS来发送时,会引发NullPointerException。这是Android本身的一个bug。

如果text是半角字符串,最大可以为160字符。如果text中含有全角字符,最大可以为70字符。
记得SMS为140bytes,可以容纳160个7-bit字符,而只能容纳70个UTF16字符。

保险起见,还是不用sendTextMessage, 一律用
sendMultipartTextMessage。

写成
sendMultipartTextMessage(destinationAddress, scAddress, mgr.divideMessage(text), sentIntent, deliveryIntent);
 
转载自: http://www.zhouwenyi.com/node/12894

你可能感兴趣的:(android)