Tworzę aplikację z funkcją udostępniania tekstu. Działa to dobrze, z wyjątkiem WhatsApp. Co powinienem zrobić? Czy jest tam jakieś specjalne API?Jak udostępnić tekst WhatsApp z mojej aplikacji?
Odpowiedz
nie ma publicznej służby API dla aplikacji .. whats .. Więc nie jest to możliwe teraz .
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); –
Nie publikuj odpowiedzi, jeśli nie wiesz! –
Saqqib otrzymał odpowiedź na 6 listopada 2012. Proszę sprawdzić datę i godzinę odpowiedzi przed głosowaniem i komentarzami. – jfalexvijay
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ć;)
Dzięki ......... ale już próbowałem tego –
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.");
}
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ź. –
Idealny, działa dla mnie. – CodeSlave
[Jestem programistą Androida, jak mogę zintegrować WhatsApp z moją aplikacją?] (Https://faq.whatsapp.com/en/android/28000012) – Eido95
Można użyć API WhatsApp Androidem: http://www.whatsapp.com/faq/en/android/28000012 iOS: http://www.whatsapp.com/faq/en/iphone/23559013
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);
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, "Your text");
startActivity(Intent.createChooser(share, "Share using"));
Proszę dodać wyjaśnienie do swojej odpowiedzi. Odpowiedzi tylko na kod są odradzane na SO. Dziękuję Ci. –
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)
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
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
Edytowałem my ans @EJoshuaS –
mechanizm wspólne wykorzystywanie Androida. Mogę dzielić tekst dobrze z WhatsApp. – poke