Обработка SMS. Работа со строками.void readSMS() { char c; String num; String message; // SMS message if (sms.availabl

RomAndry
RomAndry аватар
Offline
Зарегистрирован: 20.02.2014

Приветствую.
В логике работы приходится парсить приходящие SMS

void readSMS() {
  char c;
  String num;
  String message;

  if (sms.available()) {
    sms.remoteNumber(number, 13);
    for(int i=0; i<13; i++) {
      num += number[i];
    }
    if(sms.peek() == '#') {
      sms.flush();
    }
    while(c = sms.read()) {
      message += c;
    }

    if(num.equals(PHONE_NUMBER)) {
      if(message.equals("Green on")) {
        roomClimat();
      }
    }
  }
}

message.equals("Pink on") проверяет, что именно эта SMS

Но, отправляя SMS, замечаю, что оно приходит двумя вариантами:
1) "Green on"
2) "Green on

OK"

( т.е. с 2мя строками, одна пустая, вторая с "ОК")

Как правильно пропарсить SMS во втором случае?

Спасибо.

RomAndry
RomAndry аватар
Offline
Зарегистрирован: 20.02.2014

Прошу прощения, что-то пошло не так и в заголовок темы попал код, а редактировать нет возможности =(

RomAndry
RomAndry аватар
Offline
Зарегистрирован: 20.02.2014
if(message.equals("Green on") || message.substring(0,7) == "Green on") {....}

Вот так решил проблему, вдруг кому пригодится.