我正在尝试创建一个自定义联系人应用,它只显示那些具有联系电话的联系人。首先,有什么自动化的方法吗?假设不是,那么我将尝试按姓名搜索联系人,例如罗汉。
这是代码:-
Cursor photoCursor = getContentResolver().query(
android.provider.ContactsContract.Contacts.CONTENT_URI,
new String[] { ContactsContract.Contacts.PHOTO_ID,
ContactsContract.Contacts.DISPLAY_NAME },
ContactsContract.Contacts.DISPLAY_NAME + " = ?",
new String[]{"Rohan"}, null);
photoCursor.moveToFirst();
while (photoCursor.moveToNext()) {
Log.d("Photo Thumbnail", "" + photoCursor.getString(1));
}
虽然联系人存在,但我没有收到任何日志,如果我删除 Selection 和 Selection Args 我会在日志中看到 Rohan。我做错了什么?
最佳答案
搜索部分显示名称的简单解决方案。
ContentResolver contentResolver = getCurrentActivity().getContentResolver();
String whereString = "display_name LIKE ?";
String[] whereParams = new String[]{ "%" + searchText + "%" };
Cursor contactCursor = contentResolver.query(
ContactsContract.Data.CONTENT_URI,
null,
whereString,
whereParams,
null );
while( contactCursor.moveToNext() ) {
int contactId = getIntFromCursor( contactCursor, ContactsContract.Data.CONTACT_ID );
Log.d( "Contact ID", contactId)
}
contactCursor.close();
关于android - 按姓名搜索联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18600932/