使用“* 0#”方法时如何检查送达报告?

时间:2014-08-02 20:33:24

标签: android sms broadcastreceiver telephony

在我进一步解释之前,我想说这是一个Xposed模块,但我不相信我需要的信息依赖于任何Xposed知识。

我正在编写一个方法,只知道在onReceive方法调用类SMSReceiver extends BroadcastReceiver之前运行(感谢Xposed)。对于那些不熟悉Xposed的人来说,这只允许我在调用它之前在onReceive之前放置一个方法,允许我检查发送给它的参数,更改参数等等。

但这只是为了背景,我真正需要弄清楚如何检查收到的邮件是否是送达报告。

我的网络(giffgaff)允许通过将*0#添加到邮件中来传送报告,这些邮件在其他手机上收到时会自动回复传送报告。例如,这会发生。

发件人发送:*0#Test

接收方看到:Test

发件人看到:Message [number here] to [number here] delivered at [time] on [date] Text: 'Test'

我尝试使用getResultCode()来检查收到的文本是否是投放报告,但这似乎不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

从我从GiffGaff的可用信息中可以看出,您的发送报告是作为常规短信发送的,在这种情况下,除了内容之外,没有什么可以区别于任何其他消息。我怀疑原始地址甚至会有任何帮助,因为它很可能是服务中心号码,而不是目的地地址。

因此,解决问题的唯一方法是解析消息,看它是否适合您已经显示的模板,以及目的地号码是否一致。

相关问题