我正在尝试编写一个 Android 程序,它可以识别给定的联系号码是否与 WhatsApp 相关联。我设法找出一个特定的联系人姓名是否有 WhatsApp 帐户。如何找出与该联系人姓名对应的哪个联系人有 WhatsApp?目前我正在使用以下代码:
public void identifyWhatsappContact() {
Cursor c = ctx.getContentResolver().query(
RawContacts.CONTENT_URI,
new String[] { RawContacts.CONTACT_ID, RawContacts.DISPLAY_NAME_PRIMARY },
RawContacts.ACCOUNT_TYPE + "= ? AND " + StructuredName.DISPLAY_NAME_PRIMARY + " = ?",
new String[] { "com.whatsapp", "John Doe" },
null);
ArrayList<String> myWhatsappContacts = new ArrayList<String>();
int contactNameColumn = c.getColumnIndex(RawContacts.DISPLAY_NAME_PRIMARY);
while (c.moveToNext())
{
myWhatsappContacts.add(c.getString(contactNameColumn));
Log.v("WHATSAPP", c.getString(contactNameColumn)+"");
}
}
我能够确定“John Doe”是否有 WhatsApp,但我无法确定“John Doe”的哪个电话号码有 WhatsApp(假设联系人有多个电话号码)。有人可以帮我吗?我已经尝试过这里的解决方案,但它对我不起作用。