Нет правильного способа проверить, зарегистрирован ли контакт no в WhatsApp или нет. Но вы можете сделать одну вещь, чтобы проверить, зарегистрировано ли no в WhatsApp или нет.
Просто передайте это число в приложение WhatsApp, используя явное намерение, и после передачи в WhatsApp WhatsApp откроет одно всплывающее окно с надписью " The данное no зарегистрировано в WhatsApp . По этому вы можете узнать, зарегистрировано no или нет.
Intent sendIntent = new Intent("android.intent.action.MAIN");
sendIntent.putExtra("jid", whatsAppNumber + "@s.whatsapp.net");
sendIntent.putExtra(Intent.EXTRA_TEXT, "whatsAppMessage");
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
sendIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
sendIntent.setPackage("com.whatsapp.w4b");
sendIntent.setType("text/*");
startActivity(sendIntent);
Здесь «com.whatsapp.w4b» используется для приложения Business WhatsApp, если вы хотите использовать обычный WhatsApp, тогда вам просто нужно изменить com.whatsapp.w4b на com.whatsapp
whatsAppNumber - это номер, на который вы хотите отправить WhatsApp сообщение
или Второй способ найти контакт из внутренних контактных данных
ArrayList<String> whatsAppContact = new ArrayList();
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 name =
c.getColumnIndex(RawContacts.DISPLAY_NAME_PRIMARY);
while (c.moveToNext())
{
whatsAppContact.add(c.getString(name));
}