Каким должен быть лучший способ сопоставления телефонных номеров в ситуации, когда формат номера телефона будет проблемой?
Я ищу богатый стандартами лучший способ сделать это. У меня есть пользователи, введите телефонный номер и сохранить в БД SQLite. Позже, когда приходит телефонный звонок, я получаю входящий номер через ITelephony. Я должен сопоставить значение в БД с входящим номером и принять меры. Форматы этих номеров могут сильно различаться и могут вызывать проблемы.
Чтобы обойти эту проблему, я сейчас использую регулярное выражение, чтобы исключить символы форматирования и оставить только цифры, чтобы получить правильное соответствие. Это работает нормально, но я хотел знать, есть ли у кого-то лучший способ сделать это, или же у Android есть метод API для сопоставления двух телефонных номеров.
Спасибо за ваш интерес
РЕДАКТИРОВАТЬ: код, который я использую:
private boolean matchPhoneNumbers(String numberA, String numberB)
{
//Remove everything that's not a number
numberA=numberA.replaceAll("[^0-9]", "");
numberB=numberB.replaceAll("[^0-9]", "");
//Get the minimum length of one of the strings
int length=Math.min(numberA.length(),numberB.length());
numberA=numberA.substring((numberA.length()-length));
numberB=numberB.substring((numberB.length()-length));
//check the difference
return numberA.equals(numberB);
}