嗨,我想联系其他应用程序使用的联系人(例如whatsapp或viber)
请看下图

请帮助我解决这个问题
谢谢

最佳答案

在 list 中具有READ_CONTACTS许可权的情况下,您可以根据帐户类型获得同步的联系人。对于WhatsApp,它是"com.whatsapp"。所以:

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<String> myWhatsappContacts = new ArrayList<String>();
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));
}

10-08 00:08