sendMultipartTextMessage发送乱码消息

时间:2011-07-06 15:28:54

标签: android sms

我正在编写一个允许两个设备之间进行呼叫和响应的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发送短信的原因是什么?

2 个答案:

答案 0 :(得分:3)

它是平台中的一个错误:请参阅http://code.google.com/p/android/issues/detail?id=13737。它可能仅限于模拟器,因此请在真实设备上进行尝试。

答案 1 :(得分:0)

从任何模拟器运行Android应用程序时,

sendMultipartTextMessage方法无法正常工作 所以你需要在实际的Android智能手机上测试你的Android应用程序。还需要考虑的另一件事是在发送短信时始终将null作为第三个第二个参数(包含发件人电话号码的字符串)传递,否则代码将不会短信。

我希望这会对你有所帮助。