2012-10-18 12 views

Odpowiedz

-10

nie ma publicznej służby API dla aplikacji .. whats .. Więc nie jest to możliwe teraz .

+0

jest to możliwe z Intencja intent = nowy zamiar (Intent.ACTION_SEND); intent.setType ("text/plain"); intent.setPackage ("com.whatsapp"); intent.putExtra (Intent.EXTRA_TEXT, "tekst"); activity.startActivity (zamiar); –

+1

Nie publikuj odpowiedzi, jeśli nie wiesz! –

+2

Saqqib otrzymał odpowiedź na 6 listopada 2012. Proszę sprawdzić datę i godzinę odpowiedzi przed głosowaniem i komentarzami. – jfalexvijay

1

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

Istnieje kilka oficjalnych interfejsów API, ale nie wiem, czy tego chcesz ...

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

https://github.com/venomous0x/WhatsAPI

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

+0

Dzięki ......... ale już próbowałem tego –

66

Możesz użyć intencji, aby to zrobić. Nie trzeba używać interfejsu API Whatsapp. Mam nadzieję, że nie zrozumiałem twojego pytania. 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."); 
} 
+1

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ź. –

+0

Idealny, działa dla mnie. – CodeSlave

+0

[Jestem programistą Androida, jak mogę zintegrować WhatsApp z moją aplikacją?] (Https://faq.whatsapp.com/en/android/28000012) – Eido95

1
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); 
5
Intent share = new Intent(Intent.ACTION_SEND); 
    share.setType("text/plain"); 
    share.putExtra(Intent.EXTRA_TEXT, "Your text"); 
    startActivity(Intent.createChooser(share, "Share using")); 
+2

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

4

Istnieją dwa sposoby integracji z WhatsApp:

  • Poprzez zwyczaju Schemat adresu 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. Wystarczy utworzyć zamiar podzielić tekst, na przykład, i WhatsApp będzie wyświetlany przez selektora 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); 

Jednakże, jeśli wolisz, aby udostępniać pliki bezpośrednio w WhatsApp i ominąć kompletacji systemu, można to zrobić za pomocą setPackage w intencji:

sendIntent.setPackage("com.whatsapp"); 

To po prostu tuż przed wywołaniem startActivity (sendIntent);

Patrz link poniżej oficjalnej WhatsApp Strona: https://www.whatsapp.com/faq/en/android/28000012,

Jeśli chcesz podzielić się tekst do określonego kontaktu WhatsApp, patrz poniżej kodu.

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(); 
} 

} 

Więcej szczegółów można znaleźć pod linkiem Send text to specific contact (whatsapp)

+0

Link do rozwiązania jest mile widziany, ale upewnij się, że twoja odpowiedź jest przydatna bez niego: [dodaj kontekst związany z linkiem] (// meta.stackexchange.com/a/8259), aby inni użytkownicy mieli pojęcie, co to jest i dlaczego tam jest, a następnie zacytuj najważniejszą część strony, do której prowadzi link, jeśli strona docelowa jest niedostępna. [Odpowiedzi, które są niewiele więcej niż linkem, mogą zostać usunięte.] (// stackoverflow.com/help/deleted-answers) – FelixSFD

+0

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej jest dołączyć istotne części odpowiedzi tutaj i dostarczyć link do odniesienia. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. - [Z recenzji] (/ recenzja/niskiej jakości-posty/15775379) – EJoshuaS

+1

Edytowałem my ans @EJoshuaS –

Powiązane problemy