How to get contacts which are used in whatsapp or other application in android

前端 未结 3 1222
日久生厌
日久生厌 2020-12-08 06:00

Hi i want to get contact which are used by other application (like whatsapp or viber ) please see in below image

3条回答
  •  南方客
    南方客 (楼主)
    2020-12-08 06:26

    With the READ_CONTACTS permission in your manifest, you can get synced contacts given the account type. For WhatsApp it's "com.whatsapp". So:

    Cursor c = getContentResolver().query(
            RawContacts.CONTENT_URI,
            new String[] { RawContacts.CONTACT_ID, RawContacts.DISPLAY_NAME_PRIMARY },
            RawContacts.ACCOUNT_TYPE + "= ?",
            new String[] { "com.whatsapp" },
            null);
    
    ArrayList myWhatsappContacts = new ArrayList();
    int contactNameColumn = c.getColumnIndex(RawContacts.DISPLAY_NAME_PRIMARY);
    while (c.moveToNext())
    {
        // You can also read RawContacts.CONTACT_ID to read the
        // ContactsContract.Contacts table or any of the other related ones.
        myWhatsappContacts.add(c.getString(contactNameColumn));
    }
    

提交回复
热议问题