我在android中遇到SMSManager
的奇怪问题。我用两种语言发送短信。印地语和英语。消息发送适用于英文消息,但在印地文文本的情况下不会传递消息。我甚至没有收到任何关于印地文消息失败或成功的广播。
这是我发送邮件的代码。
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(destinationAddress, null, message, null, null);
PS。
我准备了一个发送消息的示例应用。当用Hindi语言在EditText中键入消息但在hindi字符串被硬编码时无法发送消息时,它工作正常
即
String hindiMessage = editText.getText.toString()//正常工作
String hindiMessage =“हिन्दीसंदेश”//失败
所以我正在寻找任何可能的解决方案或解决方法。
答案 0 :(得分:8)
通过将消息作为多部分消息发送,解决了这个问题。 SMS正在使用英语,因为我发送的消息长度小于一条消息的最大长度。但在将其转换为印地语后,其长度会增加并超过一条消息的最大限制。
因此,以多部分消息发送消息对我有用。这是相同的代码:
SmsManager smsManager = SmsManager.getDefault();
ArrayList<String> parts = smsManager.divideMessage(message);
smsManager.sendMultipartTextMessage(destinationAddress, null, parts, null, null);
感谢
N_JOY。