2011-10-28 116 views
1

我有一個應用程序需要從一個用戶發送短信到另一個。在接收到這個短信時,它會發回一個回覆短信。我開發了一個代碼,但問題在於它一次又一次地從一個用戶發送到另一個例如,如果用戶1向用戶2發送了一些短信,則短信自動發送給用戶1,用戶1又自動向用戶2再次發送短信,並且這又一次又一次地發送。如何避免這種情況?我必須從用戶2發送回覆短信一次到用戶1,然後不返回短信。請幫助我使用此代碼。如何在收到短信時發送回覆短信?

這裏是我的代碼:

http://pastebin.com/rt2Dd20k

在此先感謝。

+0

如何使用特殊字符(數據)來標識回覆短信? – Samrat

+0

@samrat:我該怎麼做? –

回答

1

如果您知道自動短信回覆將包含的確切文本,難道您不能只在發送回覆的塊周圍添加條件嗎?

String autoReplyText = "Whats up"; 
boolean isAutoReply = msgs[i].getMessageBody().toString().equals(autoReplyText); 

if (!isAutoReply) { 
    sms.sendTextMessage(str2, null, autoReplyText, pi, null); 
} 

編輯:如果消息是動態的(這似乎是它需要根據您的評論),那麼你可以確保所有的自動回覆就用特殊字符串標記標識它們作爲自動回覆。這樣,如果您收到以令牌開頭的消息,則知道您不需要回復:

String autoReplyToken = "[BANANA]"; 
String autoReplyText = autoReplyToken + " dynamic message content"; 

boolean isAutoReply = msgs[i].getMessageBody().toString().startsWith(autoReplyToken); 

if (!isAutoReply) { 
    sms.sendTextMessage(str2, null, autoReplyText, pi, null); 
} 
+0

答覆短信將包含發送給第一個用戶的用戶的經度和緯度,以便第一個用戶可以獲得第二個用戶的位置。現在我從第一個用戶發送短信,並且該消息必須以秒用戶與第二位用戶的位置。現在可以使用gps獲得經緯度,然後作爲回覆消息發送給第一位用戶。現在您可以給出一些提示如何解決這個問題? –

+0

感謝懇求。它真的幫助。 –