0

Я хочу выполнить индивидуальный поиск в контактах в android.Пользовательский поиск для контактов в android

Например, я хочу, чтобы контакты заканчивались на каждом конце контактного номера с 555, так как я могу это сделать?

+0

см. Http://developer.android.com/training/contacts-provider/retrieve-names.html. Он показывает, как создать адаптер и все такое. Если вы реализуете onCreateLoader, вы можете передать требуемые параметры поиска. –

+0

@max разместил мой код ниже, нашел ли вы его полезным ... –

ответ

2

Получите все контакты и выполните поиск вручную, используя код.

ContentResolver cr = getContentResolver(); 
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); 
String phone = null; 
if (cur.getCount() > 0) { 
    while (cur.moveToNext()) { 
    String id = cur.getString(cur .getColumnIndex(ContactsContract.Contacts._ID)); 
    if (Integer .parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) 
    { 
     Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] { id }, null); 
     while (pCur.moveToNext()) { 
     phone = pCur .getString(pCur .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
     if(phone.endsWith("555") 
      // store the number and id of the contact 
     } 
     pCur.close(); 
    } 
    /*** Store id and phone in another variable(eg ArrayList,etc) so that it does not get lost in another iteration of while loop***/ 
    } 
} 

Также контакты Android форматируются с пробелами, - и(). лучше проверить их перед проверкой. Использование

phone.replace("-", "").replace("(", "").replace(")", "").replace(".", "").replace(" ", ""); 

См. Также here.

+0

спасибо mohammad ali, я вижу ваш ответ, но я ищу более быстрый способ, я найду его. – max

+0

где ?? share link plz .. –

+0

Также см. мой ответ здесь: http://stackoverflow.com/questions/26859338/check-incoming-number-is-stored-in-contacts-list-or-not-android/26859482#26859482 Это использует PhoneLookup.CONTENT_FILTER_URI быстрее, чем код выше ... –

Смежные вопросы