Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java divideMessage是如何工作的_Java_Android - Fatal编程技术网

Java divideMessage是如何工作的

Java divideMessage是如何工作的,java,android,Java,Android,我有一个短信应用程序,一个来自希腊的用户报告了一个关于国家字符的问题。一切正常,但当他在我的应用程序中输入常见的希腊字母如alfa、beta时,短信会在70个字符后分成两部分。但如果他使用的是内置的默认短信应用程序,他可以在拆分前键入160个字符 ArrayList<String> msgTexts = null; SmsManager sms = SmsManager.getDefault(); msgTexts = sms.divideMessage(s

我有一个短信应用程序,一个来自希腊的用户报告了一个关于国家字符的问题。一切正常,但当他在我的应用程序中输入常见的希腊字母如alfa、beta时,短信会在70个字符后分成两部分。但如果他使用的是内置的默认短信应用程序,他可以在拆分前键入160个字符

    ArrayList<String> msgTexts = null;
    SmsManager sms = SmsManager.getDefault();

    msgTexts = sms.divideMessage(sBuf);
如何使divideMessage和sendMultipartTextMessage正确使用希腊民族字符?我没有听到其他人在世界各地报道这件事

手机:三星GT S7580搭载安卓4.2.2 使用内置的默认SMS应用程序 在移动环境中使用希腊语 有什么想法吗?

你需要阅读这一章,尤其是信息量

短消息可以使用多种字母进行编码: 默认GSM 7位字母表、8位数据字母表和16位 UCS-2字母表。取决于订阅服务器的字母表 配置在手持设备中,这将导致最大单个短路 消息大小为160个7位字符、140个8位字符或70个 16位字符

SMSC和手机之间的短消息传输不受限制 使用SS7的移动应用程序部件图时完成 协议。[43]消息与MAP MO和MT ForwardSM一起发送 操作,其有效负载长度受 精确到140个八位字节的信令协议140个八位字节*8位/ 八位字节=1120位。短消息可以使用多种方式进行编码 字母表:默认的GSM 7位字母表,8位数据字母表, 以及16位UCS-2字母表。[44]取决于 用户已在手机中配置,这将导致最大 单个短消息大小为160个7位字符,140个8位字符 字符,或70个16位字符。支持GSM 7位字母 GSM手机和网络元件必须输入[44],但输入字符 语言,如阿拉伯语、汉语、朝鲜语、日语或西里尔语 字母表语言,如乌克兰语、塞尔维亚语、保加利亚语等,必须 使用16位UCS-2字符编码进行编码参见Unicode。 路由数据和其他元数据是有效负载大小的补充


好的,谢谢。我以为divideMessage是在帮我解决这个问题。许多短信应用程序都提供了将重音字符转换为计划字符的功能,例如:ą=>'a',ł=>l等,只要语言允许,就可以这样做,以防止使用UTF编码,并为每条短信添加更多字符。