Я пытаюсь найти конкретный контактный номер в журнале вызовов и в книге контактов телефона Android.
Но я обнаружил, что контактный номер хранится по-разному в книге контактов и журнале вызовов. Например, У меня есть контактный номер 9889880912 для поиска в журнале вызовов и в контактной книге.
Для этого я делаю следующее:
добавить контакт в эмулятор андроида. Когда я записываю контактный номер для контакта как 9889880912, он автоматически заменяется на 988-988-0912 Знак тире (-) автоматически вставляется в контактный номер. Я сохранил номер.
Позвоните на этот номер из эмулятора.
Теперь, используя мой код,
когда я ищу контактный номер в списке контактов по 9889880912, это не показывает результат
когда я пытаюсь выполнить поиск по номеру контакта 988-988-0912, отображается контактная информация из контактной книги.
Однако, когда я пытаюсь найти 988-988-0912 в истории журнала вызовов, он отображается. но когда я пытаюсь найти 9889880912 в истории вызовов, я не получаю результата.
Пожалуйста, помогите мне в решении моей проблемы. Как я могу получить поиск контактов по 9889880912 в книге контактов.
МОЙ код:
/** Search from contact book **/
Cursor phoneResult = context.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI ,
columnNames,
queryString,
new String[] {String.valueOf(phoneNumber)},
null);
if(phoneResult.getCount() > 0)
Log.d("DEBUG","at least one contact with phonenumber");
/** Search from call log **/
Cursor callLogResult = context.getContentResolver().query(
callLogURI,
columnNames,
Calls.NUMBER + "=?",
new String[]{ String.valueOf(mobileNumber) },
null);
if(callLogResult.getCount() > 0)
Log.d("DEBUG","At least one call Log found");
Пожалуйста, помогите мне в решении моей проблемы. Я застрял с этим в течение долгого времени и не могу найти решение.