Как получить контакты, с которыми пользователь часто общается?

Можно ли с помощью ContactsContract получить контакты, с которыми пользователь часто разговаривает?

Я знаю, что могу использовать CallLog ContentProvider и попытаться выяснить это, но я хотел знать, есть ли уже способ сделать это.


person dors    schedule 17.08.2013    source источник


Ответы (1)


Количество контактов с контактом

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();   
            }
person Amit Prajapati    schedule 17.08.2013
comment
Спасибо, хотя кажется, что это поле проблематично: stackoverflow.com/questions/6749463/. Но это то, о чем я просил, поэтому я отмечу это как ответ. - person dors; 17.08.2013