Я реализовал пользовательский помощник базы данных SQLite.У меня есть таблица, содержащая смс сообщения.Я запрашиваю в этой таблице записи с определенного телефонного номера, например, так:
public Cursor getSmsForContact(String phoneNumber) throws SQLException {
phoneNumber = PhoneNumberUtils.stripSeparators(phoneNumber);
Cursor cursor =
db.query(DATABASE_TABLE, new String[] {
KEY_DATE,
KEY_BODY,
KEY_CONTACT,
KEY_TYPE,
KEY_ROWID,
KEY_MESSAGE_STATE
}, KEY_CONTACT + "=" + phoneNumber, null, null, null, null);
return cursor;
}
Этот метод отлично работает для номеров, которые не имеют "+" спереди (указывает код страны).Тем не менее, он всегда возвращает пустой курсор, когда phoneNumber
имеет "+" спереди.Я убедился, что метод PhoneNumberUtils.stripSeparators()
не удаляет знак "+".Я также проверил, что в таблице есть строки, которые соответствуют номеру телефона, который запрашивается.Спасибо!