Открытие чата WhatsApp с определенным контактом, нажав кнопку в моем приложении (Kotlin) - PullRequest
0 голосов
/ 22 декабря 2019

Как я могу открыть чат WhatsApp с определенным контактом, нажав кнопку в моем приложении?

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

        whatsappButton.setOnClickListener{
            var con = itemView.context

            val textToShare = "*כח אדם*"
            val phoneNumber = blogPost.phone
            val sendIntent = Intent()

            sendIntent.action = Intent.ACTION_SEND
            sendIntent.type = "text/plain"
            sendIntent.putExtra("jid", phoneNumber+"@s.whatsapp.net")
            sendIntent.putExtra(Intent.EXTRA_TEXT, textToShare)
            val extra = sendIntent.extras
            startActivity(con,sendIntent,extra)
        }

Ответы [ 4 ]

0 голосов
/ 24 декабря 2019

, если вы хотите отправить сообщение определенному контакту в WhatsApp, используйте ниже URL и конкретный номер мобильного телефона для Intent (включая код страны).

String url = "https://wa.me/"; Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url+mobile_no)); startActivity(browserIntent);

0 голосов
/ 22 декабря 2019

Пожалуйста, проверьте этот ответ здесь Используйте следующий бит кода:

Intent i = new Intent(Intent.ACTION_SENDTO, Uri.parse("content://com.android.contacts/data/" + c.getString(0)));
i.setType("text/plain");
i.setPackage("com.whatsapp");           // so that only Whatsapp reacts and not the chooser
i.putExtra(Intent.EXTRA_SUBJECT, "Subject");
i.putExtra(Intent.EXTRA_TEXT, "I'm the body.");
startActivity(i);
0 голосов
/ 22 декабря 2019

Первый вариант: с использованием Uri для преобразования веб-адреса WhatsApp в кнопку:

open_whatsapp.setOnClickListener {

        val url = "https://api.whatsapp.com/send?phone=XXXXXXXXXX"

        val openWhatsappIntent = Intent(Intent.ACTION_VIEW)
        openWhatsappInten.data = Uri.parse(url)
        startActivity(openWhatsappInten)
    }

Второй параметр; используется как a href в веб-разработке:

<a href="https://api.whatsapp.com/send?phone=XXXXXXXX" target="_blank"> Tel: XXX XXXX XX</a>

возможно, вы можете добавить Html-формат в TextView (Html.fromHtml()) и активировать ссылки, нажимаемые для открытия приложения WhatsApp.

0 голосов
/ 22 декабря 2019

Если вы хотите отправить сообщение определенному контакту из приложения «Контакты», вам сначала необходимо получить разрешение на доступ к контактам, получить номер и попробовать следующее:

Intent sendIntent = new Intent("android.intent.action.MAIN");
sendIntent.setComponent(new  ComponentName("com.whatsapp","com.whatsapp.Conversation"));
sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators("YOUR_PHONE_NUMBER")+"@s.whatsapp.net");
startActivity(sendIntent);

Ссылка: https://stackoverflow.com/a/40285262/2895571

...