программная отправка сообщения WhatsApp на определенный номер

#java #android

#java #Android

Вопрос:

Я разрабатываю приложение, и я хочу отправить сообщение WhatsApp на определенный номер

Я использовал этот код и внес исправления.
но пользователи, которые установили как WhatsApp Messenger, так и business WhatsApp, этот код отправляет сообщение в business WhatsApp напрямую, он не показывал опции, позволяющие пользователям выбирать между двумя приложениями

в Android 5 отображаются параметры, но в Android 7 и 8 не отображаются параметры. он отправляет только в бизнес-WhatsApp.

можете ли вы помочь мне разрешить предоставление опций для выбора между обоими приложениями в Android 7 и 8?

 private void openWhatsApp (String phoneNumber) {

    boolean isWhatsappInstalled = whatsappInstalledOrNot("com.whatsapp");

    if (isWhatsappInstalled) {

        Intent intent = new Intent(Intent.ACTION_VIEW);

        intent.setData(Uri.parse("http://api.whatsapp.com/send?phone=" phoneNumber));

        startActivity(intent);

    } else {
        Uri uri = Uri.parse("market://details?id=com.whatsapp");
        Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
        Toast.makeText(getActivity(), "WhatsApp not Installed",
                Toast.LENGTH_SHORT).show();
        startActivity(goToMarket);
    }
}

private boolean whatsappInstalledOrNot(String uri) {
    PackageManager pm = getActivity().getPackageManager();
    boolean app_installed = false;
    try {
        pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
        app_installed = true;
    } catch (PackageManager.NameNotFoundException e) {
        app_installed = false;
    }
    return app_installed;
}
 

Ответ №1:

я отправляю сообщение whatapp из своего приложения с помощью этого кода:-

 private void sendMsgOnSavedWhatsappNumber(String mobile) {
        Intent sendIntent = new Intent("android.intent.action.MAIN");
        sendIntent.setComponent(new ComponentName("com.whatsapp", "com.whatsapp.Conversation"));
        sendIntent.putExtra("jid",
                PhoneNumberUtils.stripSeparators("91"   mobile)   "@s.whatsapp.net");
        startActivity(sendIntent);
    }
 

Комментарии:

1. пожалуйста, предоставьте код prodper. i предназначен для намерения. но какое действие нужно установить. что предоставляется менеджеру пакетов и т. Д. Поделитесь своей функцией полностью

2. если этот код поможет вам, тогда оцените ответ

3. это откроет экран вашего сообщения WhatsApp для того пользователя, которому вы хотите отправить сообщение, и я думаю, что вы не можете отправить сообщение WhatsApp пользователю из любого другого приложения

4. что такое «jid»? здесь

5. это открывает экран сообщения WhatsApp того человека, с которым вы хотите пообщаться