Невозможно получить тот же номер контакта из журнала вызовов и истории контактов в Android - PullRequest
2 голосов
/ 11 июня 2010

Я пытаюсь найти конкретный контактный номер в журнале вызовов и в книге контактов телефона 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");

Пожалуйста, помогите мне в решении моей проблемы. Я застрял с этим в течение долгого времени и не могу найти решение.

1 Ответ

1 голос
/ 16 июля 2010

Какой уровень API вы используете? Какие-нибудь ограничения на это?

Если 5 или выше, вы можете попробовать использовать PhoneLookup, см. Например: http://developer.android.com/reference/android/provider/ContactsContract.PhoneLookup.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...