1

我在 Android 中遇到了 SMSManager 的一个奇怪问题。我用两种语言发送短信,印地语和英语。消息发送适用于英语消息,但如果是印地语文本,则消息不会被传递。我什至没有收到任何关于印地语消息失败或成功的广播。

这是我发送消息的代码。

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(destinationAddress, null, message, null, null);

PS。

我准备了一个发送消息的示例应用程序。当以印地语语言在 EditText 中键入消息但在印地语字符串被硬编码时无法发送消息时,它工作正常。

IE

String hindiMessage = editText.getText.toString()// works fine  

String hindiMessage = "हिन्दी संदेश"//fails

我正在寻找任何可能的解决方案或解决方法。

4

1 回答 1

8

这已通过将消息作为多部分消息发送来解决。SMS 以英语工作,因为我发送的消息长度小于一条消息的最大长度。但是在将其转换为印地语后,它的长度会增加并超过一条消息的最大限制。

因此,将消息作为多部分消息发送对我有用。这是相同的代码:

SmsManager smsManager = SmsManager.getDefault();
ArrayList<String> parts = smsManager.divideMessage(message);
smsManager.sendMultipartTextMessage(destinationAddress, null, parts, null, null); 

谢谢
N_JOY。

于 2013-05-24T11:13:55.693 回答