Pytanie Jak udostępnić tekst WhatsApp z mojej aplikacji?


Rozwijam aplikację z funkcją udostępniania tekstu. Działa to dobrze, z wyjątkiem WhatsApp. Co powinienem zrobić? Czy jest tam jakieś specjalne API?


29
2017-10-18 10:45


pochodzenie


Użyj mechanizmu udostępniania Androida. Mogę dzielić tekst dobrze z WhatsApp. - poke


Odpowiedzi:


Nie ma publicznego oficjalnego api dla aplikacji Whats .... Więc nie jest to możliwe teraz.


-15
2017-11-06 13:23



jest to możliwe z intencją Intent = new Intent (Intent.ACTION_SEND); intent.setType ("text / plain"); intent.setPackage ("com.whatsapp"); intent.putExtra (Intent.EXTRA_TEXT, "tekst"); activity.startActivity (intent); - Muhammad Adil
Nie publikuj odpowiedzi, jeśli nie wiesz! - Bhavik Mehta
Odpowiedź na pytanie o Saqqib od 6 listopada 2012 r. Proszę sprawdzić datę i godzinę odpowiedzi przed głosowaniem i komentarzami. - jfalexvijay
Nie publikuj odpowiedzi, jeśli nie wiesz o tym ... - A.A


Możesz użyć intencji, aby to zrobić. Nie musisz używać interfejsu API Whatsapp. Mam nadzieję, że źle zrozumiałem twoje pytanie. Nadzieję, że pomaga, dzięki.

Intent whatsappIntent = new Intent(Intent.ACTION_SEND);
whatsappIntent.setType("text/plain");
whatsappIntent.setPackage("com.whatsapp");
whatsappIntent.putExtra(Intent.EXTRA_TEXT, "The text you wanted to share");
try {
    activity.startActivity(whatsappIntent);
} catch (android.content.ActivityNotFoundException ex) {
    ToastHelper.MakeShortText("Whatsapp have not been installed.");
}

80
2017-09-03 06:44



To jest idealny kod. To zadziałało dla mnie i tak zaznaczona odpowiedź, ratując to, co jest niemożliwe, co jest całkowicie błędne. Ta odpowiedź powinna być oznaczona jako poprawna odpowiedź. - Ghanshyam Nayma
Idealne, działa dla mnie. - CodeSlave
Jestem programistą Androida, jak mogę zintegrować WhatsApp z moją aplikacją? - Eido95


Istnieją dwa sposoby integracji z WhatsApp:

  • Poprzez niestandardowy schemat URL

  • Dzięki systemowi intencji Androida.

Jeśli masz stronę internetową i chcesz otworzyć czat WhatsApp z wcześniej wypełnioną wiadomością, możesz użyć naszego niestandardowego schematu URL, aby to zrobić. Otwieranie whatsapp: // send? Text =, a następnie tekst do wysłania, otworzy WhatsApp, pozwoli użytkownikowi wybrać kontakt i wstępnie wypełnić pole wejściowe określonym tekstem.

Podobnie jak większość aplikacji społecznościowych na Androida, WhatsApp słucha intencji udostępniania multimediów i tekstu. Po prostu stwórz intencję udostępniania tekstu, a WhatsApp będzie wyświetlany przez selektor systemu:

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);

Jeśli jednak chcesz udostępniać bezpośrednio WhatsApp i ominąć selektora systemu, możesz to zrobić, używając setPackage w swoim celu:

sendIntent.setPackage("com.whatsapp");

Zostanie to ustawione tuż przed wywołaniem funkcji startActivity (sendIntent);

Proszę odnieść się poniżej link Oficjalna strona WhatsApp: https://www.whatsapp.com/faq/en/android/28000012,

Jeśli chcesz udostępnić tekst do określonego kontaktu WhatsApp, zapoznaj się z poniższym kodem.

private void openWhatsApp() {
String smsNumber = "7****"; //without '+'
try {
    Intent sendIntent = new Intent("android.intent.action.MAIN");
    //sendIntent.setComponent(new ComponentName("com.whatsapp", "com.whatsapp.Conversation"));
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.setType("text/plain");
    sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
    sendIntent.putExtra("jid", smsNumber + "@s.whatsapp.net"); //phone number without "+" prefix
    sendIntent.setPackage("com.whatsapp");
    startActivity(sendIntent);
} catch(Exception e) {
    Toast.makeText(this, "Error/n" + e.toString(), Toast.LENGTH_SHORT).show();
 }

}

Aby uzyskać więcej informacji, zapoznaj się z poniższym linkiem Wyślij tekst do określonego kontaktu (WhatsApp)


6
2018-04-07 14:24



Link do rozwiązania jest mile widziany, ale upewnij się, że twoja odpowiedź jest przydatna bez niego: dodaj kontekst wokół linku aby inni użytkownicy mieli pojęcie, co to jest i dlaczego tam jest, a następnie zacytuj najbardziej odpowiednią część strony, do której prowadzi link, jeśli strona docelowa jest niedostępna. Odpowiedzi, które są niewiele więcej niż link, mogą zostać usunięte. - FelixSFD
Chociaż ten link może odpowiedzieć na pytanie, lepiej umieścić tutaj istotne części odpowiedzi i podać odsyłacz do odniesienia. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. - Z recenzji - EJoshuaS
Edytowałem moje ans @EJoshuaS - Jitendra Kumar. Balla


Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("text/plain");
    share.putExtra(Intent.EXTRA_TEXT, "Your text");
    startActivity(Intent.createChooser(share, "Share using"));

5
2017-07-18 10:49



Proszę dodać wyjaśnienie do swojej odpowiedzi. Odpowiedzi tylko na kod są odradzane na SO. Dziękuję Ci. - Gennadii Saprykin


Nie jestem w 100% pewny ... ale obawiam się, że nie ma oficjalnego API. Chciałem też zaimplementować funkcję "wyślij nam WhatsApp", ale poddaję się na chwilę, dopóki whatsapp.inc nie wyda oficjalnego

Jest kilka oficjalnych API, ale nie wiem, czy tego chcesz ...

http://www.whatsapp-api.com/developers.php

https://github.com/venomous0x/WhatsAPI

powodzenia .... i jeśli coś odkryjecie, proszę dać mi znać;)


1
2017-11-05 17:34



Dzięki ......... ale już wypróbowałem to
tak jest:faq.whatsapp.com/en/android/28000012 - Alon Kogan
Myślę, że ta strona została usunięta ze strony internetowej whatspp - E-housma Mardini


Możesz użyć interfejsu API WhatsApp Android: http://www.whatsapp.com/faq/en/android/28000012 iOS: http://www.whatsapp.com/faq/en/iphone/23559013


1
2017-10-16 13:49





  Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
    sendIntent.setType("text/plain");
sendIntent.setPackage("com.whatsapp");
    startActivity(sendIntent);

1
2018-02-28 10:57