如何获取用户经常联系的联系人?
Posted
技术标签:
【中文标题】如何获取用户经常联系的联系人?【英文标题】:How to get contacts with which the user talks often? 【发布时间】:2013-08-19 17:43:22 【问题描述】:是否可以使用 ContactsContract 获取用户经常与之交谈的联系人?
我知道我可以使用 CallLog ContentProvider 并尝试解决这个问题,但我想知道是否已经有办法做到这一点。
【问题讨论】:
【参考方案1】:The number of times a contact has been contacted
ContactsContract.Contacts.times_contacted
static final String[] CONTACTS_SUMMARY_PROJECTION = new String[]
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts.STARRED,
ContactsContract.Contacts.TIMES_CONTACTED,
ContactsContract.Contacts.CONTACT_PRESENCE,
ContactsContract.Contacts.PHOTO_ID,
ContactsContract.Contacts.LOOKUP_KEY,
ContactsContract.Contacts.HAS_PHONE_NUMBER,
;
String name_to_search = "John Doe";
Cursor c = context.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, CONTACTS_SUMMARY_PROJECTION, null, null, ContactsContract.Contacts.TIMES_CONTACTED);
context.startManagingCursor(c);
if (c.moveToNext())
String id = c.getString(0);
ArrayList<String> phones = new ArrayList<String>();
Cursor pCur = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", new String[]id, null);
while (pCur.moveToNext())
phones.add(pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
Log.i("", name_to_search+ " has the following phone number "+ pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
pCur.close();
【讨论】:
谢谢,虽然这个字段似乎有问题:***.com/questions/6749463/…。但这是我要求的,所以我将其标记为答案。以上是关于如何获取用户经常联系的联系人?的主要内容,如果未能解决你的问题,请参考以下文章
如何从用户手机获取联系人 URI 并在 android 中使用 glide 加载