2010-07-05 97 views
1

這個網站提供瞭如何讓手機上存儲的所有數據一個很好的例子:接收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

回答

3

我會很好,給你一些代碼片段,但在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

1

我不是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