Como obter contatos do WhatsApp no Android?
Eu tento obter contato do whatsapp pelo telefone e recebo Contagem total de contatos do whatsapp, mas deRawContacts
como obter WhatsApp número e nome que eu não sei. Eu tentei encontrar a solução, mas não consigo obter a solução exata para isso. Por favor me ajude.
Coloquei meu código abaixo.
ContentResolver cr = context.getContentResolver();
Cursor c = cr.query(
ContactsContract.RawContacts.CONTENT_URI,
new String[] { ContactsContract.RawContacts.CONTACT_ID, ContactsContract.RawContacts.DISPLAY_NAME_PRIMARY },
ContactsContract.RawContacts.ACCOUNT_TYPE + "= ?",
new String[] { "com.whatsapp" },
null);
ArrayList<String> myWhatsappContacts = new ArrayList<>();
String projection[] = { ContactsContract.CommonDataKinds.Phone.NUMBER };
if(c != null) {
if (c.getCount() > 0) {
while (c.moveToNext()) {
String whatsappContactId = c.getString(c.getColumnIndex(ContactsContract.RawContacts.Data._ID));
Cursor dataCursor = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",
new String[]{whatsappContactId}, null);
// You can also read RawContacts.CONTACT_ID to read the
// ContactsContract.Contacts table or any of the other related ones.
String number = dataCursor.getString(dataCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NORMALIZED_NUMBER));
myWhatsappContacts.add(number);
}
}
}
showLogI(TAG, " WhatsApp contact size : " + myWhatsappContacts.size());