В моем приложении мне нужно отсканировать все пользовательские sms и отфильтровать его на основе некоторых ключевых слов. Для этого я могу напрямую использовать smsBody.contains(filterKey)
. но предположим, что ключ фильтра похож на Вы заработали <> + Награды, где <> должны иметь некоторые цифры. т.е. вы заработали 1000 Награда, если эта строка входит в смс, я должен отклонить это. Я добавил мой код нижеИгнорировать SMS, если он содержит ключевое слово
if (!shouldIgnore(smsBody)) {
//further process
} else {
LogUtils.LOGD(TAG, "ignoring message : " + smsBody);
}
public boolean shouldIgnore(String body) {
ListIterator<String> listIterator =mList.listIterator()
while(listIterator.hasNext()){
String key = listIterator.next();
if(smsBody.contains(key)){
return true;
}
}
return false
}
String.contains() возвращает истину, только если точный ключ приходит, но в этом случае ключ не может быть точным. Как мне изменить этот метод?
Что вы подразумеваете под «reject» и «ignore»? –
Что означает **, если эта строка входит в смс, я должен отклонить это **? –
Мне нужно избегать этих суставных смс, значит, я не хочу этого смс. Я должен найти, если ключ найден в теле sms – droidev