2011-10-28 217 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

感谢恳求。它真的帮助。 –