我在 Android 中使用以下代码发送长短信:
SmsManager sms = SmsManager.getDefault();
ArrayList<String> parts = sms.divideMessage(message);
sms.sendMultipartTextMessage(phoneNumber, null, parts, null, null);
问题在于,在 Lollipop 5.0 之前的手机上(主要在 Kitkat 4.4 上注意到),SMS 是作为两个单独的 SMS 而不是合并的(多部分)消息发送的。
在运行 Lollipop 5.0+ 的手机上,消息是否作为长短信正确发送?
我已经在两部完全相同型号的手机上对此进行了测试,一部运行 4.4 Kitkat,另一部更新为 5.0 Lollipop,是否出现上述相同行为?有没有其他人注意到这一点或找到了解决方案?
最佳答案
当消息足够长时,通常超过 160 个字符,它会作为单独的 SMS 消息发送,并且在 GSM 网络上会添加一些额外的元数据,称为用户数据 header (UDH),告诉接收者单独的消息应该合并。
您希望接收方将它们组合回一条消息中。请注意,它是组合它们的接收器,所以这就是您需要查看的地方。据我所知,Lollipop 中 sendMultipartTextMessage 的行为与 KitKat 中的行为相同。
关于java - sendMultipartTextMessage 作为多条 SMS 消息发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31178859/