接收SMS使用AT命令

问题描述:

这个网站提供了如何让手机上存储的所有数据一个很好的例子:接收SMS使用AT命令

http://www.developershome.com/sms/howToReceiveSMSUsingPC.asp

AT 
OK 
AT+CMGF=1 
OK 
AT+CMGL="ALL" 
+CMGL: 1,"REC READ","+85291234567",,"06/11/11,00:30:29+32" 
Hello, welcome to our SMS tutorial. 
+CMGL: 2,"REC READ","+85291234567",,"06/11/11,00:32:20+32" 
A simple demo of SMS text messaging. 

我可以用我的手机已发送短信在命令中使用C#,但我在接收消息时遇到一些困难。我知道这样做的方式如上所示,但我不知道如何获取手机发送回我的应用程序的消息。

我该如何编程一个“监听”到手机来获取消息?

+0

使用SerialPort类 – 2010-07-05 23:15:12

+0

我有同样的问题.. 我试着AT + CMGL =“ALL”,我得到错误回报.. 这是否意味着我的电脑无法读取来自我的电话调制解调器的消息? – 2010-11-20 21:13:10

+0

@Vimal NO!我的意思是说您的手机不支持TEXT模式,并且您必须使用PDU模式!请阅读:http://www.developershome.com/ sms/operatingMode.asp – Jalal 2011-02-25 05:11:51

我会很好,给你一些代码片段,但在iPad上打字并不好。 所以这里这个网站可能解释是更好反正

http://blogs.msmvps.com/coad/2005/03/23/serialport-rs-232-serial-com-port-in-c-net/

有一节那里显示建立DataReceived事件检索到被触发时,你得到的数据,而不是你不必轮询读命令。

我也可能会指出,虽然这可以用于您的手机,但它可能不适用于其他人。并非所有的制造商都实施了他们的SMS AT命令......这是令人沮丧的。新手机甚至不打扰它:-(

+0

链接被破坏 – Lrrr 2015-02-25 09:50:21

+0

@Lrrr更新了链接,但是现在从2005年开始,我怀疑现在有更好的方法可以做到这一点 – Fuzz 2015-02-25 10:53:00

我不是100%确定你在问什么。如果你可以“发送”短信,那么你就是那里的大部分!当您发送

AT+CMGL="ALL" 

命令调制解调器应该

CMGL: 1,"REC READ","+85291234567",,"06/11/11,00:30:29+32" 
Hello, welcome to our SMS tutorial. 
+CMGL: 2,"REC READ","+85291234567",,"06/11/11,00:32:20+32" 
A simple demo of SMS text messaging. 

你的调制解调器通过串行端口说话回应?如果是这样,您需要使用Read ...方法之一或挂接到DataReceived()事件。 MSDN文档是here