我的问题是我想发送某个类的SMS消息并使用某种编码。 (0和7位编码)。
检查Android.Telephony.SmsManager和SmsMessage时,你可以做的事情并不多。 SmsManager提供两个功能 SendTextMessage和SendDataMessage。如果您只是想向某人发送正常的短信,第一个工作正常。 所以我想SendDataMessage是我以某种方式需要使用的函数。但是我无法弄清楚如何使用它。在使用此功能的任何人的网上(我都能找到)似乎没有例子。
有谁知道任何可以帮助我的事情? :-) 要么如何发送Class0 7位编码短信,要么如何正确使用SendDataMessage功能。
答案 0 :(得分:6)
sendDataMessage
函数添加了自己的用户数据头UDH
,由应用程序端口号和无数据的TP-Data-Coding-Scheme组成的信息,8位数据{{1} }(在SmsMessage代码库中找到)
0x04
函数将使用GSM7packed编码和SendTextMessage
- 未压缩,默认(7位)编码的TP-Data-Encoding-Scheme发送消息,无类。根据GSM 03.38规范
对于0级,7位数据,您将在TP-Data-Encoding-Scheme字节位置中寻找0x00
值。
为此,需要控制所有正在发送的PDU。目前,公共android API不支持此功能。但是,可以通过内部API上的reflection完成(尽管非常不鼓励)。