我正在编写一个允许两个设备之间进行呼叫和响应的Android应用程序。我目前正在使用sendMultipartTextMessage
发送超过160个字符的邮件。但是收到的消息不是我发送的消息。
String response = "abcd abcd abcd abcdabcd abcd abcd abcd abcd...to 300 chars";
Log.i("response",response);
SmsManager sms = SmsManager.getDefault();
ArrayList<String> parts = sms.divideMessage(response);
for (String part : parts) {
Log.i("part",part);
}
sms.sendTextMessage(sender, null, "This should be normal", null, null);
sms.sendMultipartTextMessage(sender, null, parts, null, null);
Log.i
按预期运行,并以部分方式输出消息。 sendTextMessage
还会将正确的SMS发送给我的合作伙伴模拟器。但是,sendMultipartTextMessage
发送的部分都会奇怪地翻译出来。例如,上面的response
将被收到“BEGIABEGIABEGIABEGIA ...”等等,其中包含一些空格和数字的小变化。
导致sendMultipartTextMessage
发送短信的原因是什么?
答案 0 :(得分:3)
它是平台中的一个错误:请参阅http://code.google.com/p/android/issues/detail?id=13737。它可能仅限于模拟器,因此请在真实设备上进行尝试。
答案 1 :(得分:0)
sendMultipartTextMessage方法无法正常工作 所以你需要在实际的Android智能手机上测试你的Android应用程序。还需要考虑的另一件事是在发送短信时始终将null作为第三个第二个参数(包含发件人电话号码的字符串)传递,否则代码将不会短信。
我希望这会对你有所帮助。