私のアプリでは、すべてのユーザーの SMS をスキャンし、いくつかのキーワードに基づいてフィルター処理する必要があります。そのために、smsBody.contains(filterKey)
直接使用できます。しかし、フィルター キーが、獲得した<>+Rewardsのようなもので、<> にはいくつかの数字が必要であるとします。つまり、あなたは 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() は、正確なキーが来る場合にのみ true を返しますが、この場合、キーは正確ではない可能性があります。このメソッドを変更するにはどうすればよいですか?