首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android smsManager处理重音字符

Android smsManager处理重音字符
EN

Stack Overflow用户
提问于 2019-06-23 03:55:36
回答 1查看 94关注 0票数 1

比如,在我的安卓短信应用程序中出现了一些奇怪的行为,比如短信中有很重的口音;smsTEXT =:“如果你有兴趣的话,Pls会尽快给办公室打电话。”

消息是在单一160字符短信长度,然而,当我调用这个;

代码语言:javascript
复制
ArrayList<String> segments = smsManager.divideMessage(smsTEXT);

报告的消息部件数量大于1,实际上大于2。

代码语言:javascript
复制
if (segments.size() > 1 ){
    smsManager.sendMultipartTextMessage(etc...)
    nSegments = segments.size();
} else {
    smsManager.sendTextMessage(etc...)
    nSegments = 1;
}

无论如何,sendMultipartTextMessage似乎在一个单独的部分很好地发送了消息(带有严重的口音),而在所有其他方面,该应用程序运行良好。

如果我用Apostrophe代替严肃的口音,那么只有一个段消息是由size()报告的,一个短信是由sendTextMessage一次性发送的。

如果我在消息中添加了几个重音,就会按size()报告多达4个片段,尽管看起来sendMultipartTextMessage只发送了一个短消息

问:安卓smsManager中的严肃口音有什么特别之处吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-23 06:11:46

Grave不能用7位ascii表示(SMS的默认设置)。这就要求将其作为16位字符发送,从而将最大字符数减少一半。因此,即使是一条短消息也需要2 SMSes。您将看到使用emojis和其他非ASCII字符的相同行为。如果你在像Android这样的短信应用中发送短信,显示文本中剩下的字符,你就会看到,一旦你添加了一个非ASCII字符,它就会下降一半(或者如果把它放在文本的中间,你就会看到文本的数量跃升)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56720878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档