Если вы знаете точный текст, который будет содержать автоматический ответ 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);
}