Как отправить смс ответ на получение смс? - PullRequest
1 голос
/ 28 октября 2011

У меня есть приложение, которое требует отправки смс от одного пользователя другому. При получении этого смс-сообщения оно отправляет ответное смс-сообщение. Я разработал код, но проблема в том, что он снова и снова отправляет от одного пользователя Например, если пользователь 1 отправляет смс пользователю 2, то смс автоматически отправляется пользователю 1, который, в свою очередь, автоматически отправляет смс пользователю 2 снова и снова и снова. Как я могу избежать этого? Я должен отправить смс ответ только один раз от пользователя 2 к пользователю 1, а затем нет возврата смс. Пожалуйста, помогите мне с этим кодом.

Вот мой код:

http://pastebin.com/rt2Dd20k

Заранее спасибо.

1 Ответ

1 голос
/ 28 октября 2011

Если вы знаете точный текст, который будет содержать автоматический ответ SMS, вы не можете просто поставить условие вокруг блока, который отправляет ответ?

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

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

edit: если сообщение является динамическим (что, как вам кажется, должно быть на основе ваших комментариев), тогда вы можете убедиться, что все автоматические ответы начинаются со специального строкового токена, который идентифицирует их как автоматический ответ. Таким образом, если вы получаете сообщение, начинающееся с вашего токена, вы знаете, что вам не нужно отвечать:

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);
}
...