Я хочу выполнить индивидуальный поиск в контактах в android.Пользовательский поиск для контактов в android
Например, я хочу, чтобы контакты заканчивались на каждом конце контактного номера с 555, так как я могу это сделать?
Я хочу выполнить индивидуальный поиск в контактах в android.Пользовательский поиск для контактов в android
Например, я хочу, чтобы контакты заканчивались на каждом конце контактного номера с 555, так как я могу это сделать?
Получите все контакты и выполните поиск вручную, используя код.
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.
спасибо mohammad ali, я вижу ваш ответ, но я ищу более быстрый способ, я найду его. – max
где ?? share link plz .. –
Также см. мой ответ здесь: http://stackoverflow.com/questions/26859338/check-incoming-number-is-stored-in-contacts-list-or-not-android/26859482#26859482 Это использует PhoneLookup.CONTENT_FILTER_URI быстрее, чем код выше ... –
см. Http://developer.android.com/training/contacts-provider/retrieve-names.html. Он показывает, как создать адаптер и все такое. Если вы реализуете onCreateLoader, вы можете передать требуемые параметры поиска. –
@max разместил мой код ниже, нашел ли вы его полезным ... –