如何获取用户经常联系的联系人?

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/…。但这是我要求的,所以我将其标记为答案。

以上是关于如何获取用户经常联系的联系人?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取gmail用户的联系人?

如何从用户手机获取联系人 URI 并在 android 中使用 glide 加载

Flutter:如何从联系人获取用户地址

在Android设备的联系人>设置中获取排序顺序偏好选择的用户以及如何减少查询时间?

如何从联系人列表中获取姓名

如何通过 LookUpKey 获取联系电话号码?