【问题标题】:Encoding SMS messages in Android在 Android 中编码 SMS 消息
【发布时间】:2010-04-22 21:06:18
【问题描述】:

我的问题是我想发送一个特定类别和特定编码的 SMS 消息。 (0 类和 7 位编码)。

检查 Android.Telephony.SmsManager 和 SmsMessage 时,您无能为力。 SmsManager 提供了两个功能 发送文本消息和发送数据消息。如果您只是想向某人发送普通短信,第一个可以正常工作。 所以我想 SendDataMessage 是我需要使用的功能。但是我不知道如何使用它。并且在网络上(我可以找到)似乎没有任何人使用此功能的示例。

有没有人知道什么可以帮助我? :-) 如何发送 Class0 7 位编码的短信,或者如何正确使用 SendDataMessage 函数。

【问题讨论】:

标签: android character-encoding sms pdu


【解决方案1】:

sendDataMessage 函数添加它自己的用户数据头 UDH,由应用程序端口号和无类的 TP-Data-Coding-Scheme 组成的信息,8 位数据 0x04(在 @ 987654321@代码库)

SendTextMessage 函数将使用 GSM7packed 编码和0x00 的 TP-Data-Encoding-Scheme 发送消息 - 未压缩,默认(7 位)编码,无类。根据 GSM 03.38 规范

对于 0 类 7 位数据,您将在 TP-Data-Encoding-Scheme 字节位置中查找 0x10 值。 为此,需要控制所有正在发送的 PDU。目前,公共 android API 不支持此功能。但是,可以通过内部 API 上的reflection 来完成(尽管非常不鼓励)。

SMS raw pdu in Android

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 2014-01-22
    相关资源
    最近更新 更多