2011-10-28 44 views
1

私はあるユーザーから別のユーザーにSMSを送信する必要があるアプリケーションがあります。このSMSを受信すると、返信SMSが返されます。コードを作成しましたが、問題は、あるユーザーから別のユーザーに何度も繰り返し送信することですたとえば、ユーザー1がユーザー2にSMSを送信すると、ユーザー1にSMSが自動的に送信されます。ユーザー1は再びユーザー2にSMSを自動的に送信し、これが何度も繰り返されます。返信SMSをユーザー2からユーザー1に一度だけ送信してから返信する必要はありません。このコードで私を助けてください。事前にSMSの受信時に返信SMSを送信するには?

http://pastebin.com/rt2Dd20k

ありがとう:

は、ここに私のコードです。

+0

どのように返信SMSを識別するために、特殊文字(データ)を使用してはどうですか? – Samrat

+0

@samrat:どうすればいいですか? –

答えて

1

自動SMS返信に含まれる正確なテキストがわかっている場合、返信を送信するブロックの周りに条件を置くことはできませんか?

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

返信SMSには、最初のユーザーが2番目のユーザーの場所を取得できるように、最初のユーザーに送信するユーザーの経度と緯度が含まれます。現在、私は最初のユーザーからSMSを送信しています。このメッセージには、 gpsを使用して取得することができますし、最初のユーザーに返信メッセージとして送信されます。今、この問題を解決するためのヒントを教えてください。 –

+0

本当に助けてくれました。 –