Android 发送带有口音的短信

Android 发送带有口音的短信,android,sms,Android,Sms,我用这个代码发短信 SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage("Numerber", null, "Text to send", null, null); 它在英语中运行得很好,但如果我使用西班牙语,它就失败了。经过多次尝试,我发现如果“发送的文本”包含“á,é,í,ó,ú”等重音,则发送的消息会被截短 当然,这些口音是用西班牙语书写的,所以你知道吗?谢谢大家。是的,就是你说的。 以下

我用这个代码发短信

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("Numerber", null, "Text to send", null, null);
它在英语中运行得很好,但如果我使用西班牙语,它就失败了。经过多次尝试,我发现如果“发送的文本”包含“á,é,í,ó,ú”等重音,则发送的消息会被截短


当然,这些口音是用西班牙语书写的,所以你知道吗?

谢谢大家。是的,就是你说的。 以下是解决方案:

ArrayList<String> arrSMS = smsManager.divideMessage("Text to send");
smsManager.sendMultipartTextMessage("Number", null, arrSMS, null, null);
ArrayList arrSMS=smsmsmanager.divideMessage(“要发送的文本”);
sendMultipartTextMessage(“Number”,null,arrSMS,null,null);

显然,问题与编码有关。你确定你使用的是UTF-8,否则你能转换成UTF-8吗?显然,使用
sendMultipartTextMessage
而不是
sendTextMessage
可以获得正确的编码支持(请参见dupe链接)。请记住,发送这些重音符号需要使用unicode,因此每条消息最多只能使用70个字符。有些用户不喜欢这样,如果他们的消息正在发送,请尝试以下方法:Html.fromHtml(新字符串(myString.getBytes(“UTF-8”)).toString();和短信,它看起来完美。