Odkąd znalazłem kilka starszych postów, które mówią, że WhatsApp tego nie obsługuje, zastanawiałem się, czy coś się zmieniło i czy istnieje sposób na otwarcie czatu WhatsApp z numerem, który wysyłam przez intencję?
112
Odkąd znalazłem kilka starszych postów, które mówią, że WhatsApp tego nie obsługuje, zastanawiałem się, czy coś się zmieniło i czy istnieje sposób na otwarcie czatu WhatsApp z numerem, który wysyłam przez intencję?
Odpowiedzi:
AKTUALIZACJA Zobacz https://faq.whatsapp.com/en/android/26000030/?category=5245251
Oryginalna odpowiedź Oto rozwiązanie
Zobacz też http://www.whatsapp.com/faq/en/android/28000012
źródło
Za pomocą tego kodu możesz otworzyć czat WhatsApp z podanym numerem.
źródło
startActivity(Intent.createChooser(i, ""));
używaćstartActivity(i);
do bezpośrednio otwartego czatu numerycznego. 1. Testowany na Samsung J7 prime działa. 2. numeru nie było na mojej liście kontaktów ani na liście czatu. 3. jeśli numer nie korzysta z WhatsApp, pojawi się okno dialogowe z pytaniem, czy chciałbym zaprosić ten kontakt do WhatsApp. Myślę, że to najlepsze rozwiązanie, jeśli chcesz zapewnić użytkownikom aplikacji pomoc w zakresie kontaktu z WhatsApp.Znalazłem następujące rozwiązanie, najpierw potrzebujesz identyfikatora WhatsApp:
Zgodnie z raportami z innych wątków tutaj i na innych forach nazwa logowania, którą znalazłem, była w pewnym sensie: międzynarodowy numer kierunkowy bez zer lub + na początku + numer telefonu bez pierwszego 0 + @ s.whatsapp.net
Na przykład, jeśli mieszkasz w Holandii i masz numer telefonu 0612325032, będzie to [email protected] -> +31 dla Holandii bez 0 lub + oraz numer telefonu bez 0.
źródło
if (whatsapp != null)
jak zrobiłaś to w 2 linijkach powyżejIntent whatsapp = new Intent(...)
.<uses-permission android:name="android.permission.READ_CONTACTS" />
pozwolenie wAndroidManifest.xml
źródło
Proste rozwiązanie, spróbuj tego.
źródło
Testowane na Marshmallow S5 i działa!
Spowoduje to otwarcie bezpośredniego czatu z osobą, jeśli WhatsApp nie zostanie zainstalowany, spowoduje to wyjątek , jeśli numer telefonu nie jest znany WhatsApp, zaoferuje wysłanie zaproszenia przez sms lub prostą wiadomość sms
źródło
Poniższy kod jest używany przez aplikację Google Now i NIE będzie działał z żadną inną aplikacją.
Piszę ten post, ponieważ denerwuję się, że WhatsApp nie pozwala innym programistom na wysyłanie wiadomości bezpośrednio poza Google.
I chcę, żeby inni niezależni programiści wiedzieli, że tego rodzaju współpraca ma miejsce, podczas gdy Google ciągle mówi o „otwartym dla każdego”, a WhatsApp mówi, że nie chcą zapewniać dostępu do programistów.
Niedawno WhatsApp dodał intencję specjalnie dla Google Now, która powinna wyglądać następująco:
Mogłem również dowiedzieć się, że „search_action_token” to PendingIntent, który zawiera obiekt IBinder, który jest wysyłany z powrotem do Google App i sprawdzany, czy został utworzony przez Google Now.
W przeciwnym razie WhatsApp nie przyjmie wiadomości.
źródło
Obecnie jedyne oficjalne API, o które możesz
GET
poprosić:W każdym razie WhatsApp ma już tajny program API
źródło
użyj tego pojedynczego kodu używanego do wysyłania wiadomości przez WhatsApp
źródło
To działa dla mnie:
źródło
Oto, co zadziałało dla mnie:
źródło
Użyj bezpośredniego adresu URL WhatsApp
źródło
jest to bardzo długie, ale gburowate działanie. miłego kodu :)
źródło
Jestem tu naprawdę spóźniony, ale wierzę, że obecnie mamy krótsze i lepsze rozwiązania do wysyłania wiadomości przez WhatsApp.
Możesz skorzystać z następujących opcji, aby wywołać selektor systemowy, a następnie wybrać aplikację, której będziesz używać do udostępniania, co chcesz.
Jeśli naprawdę potrzebujesz wysłać przez WhatsApp, wszystko, co musisz zrobić, to następujące czynności (pominiesz selektor systemu)
Jeśli potrzebujesz więcej informacji, możesz je znaleźć tutaj: Często zadawane pytania dotyczące WhatsApp
źródło
Jak mówi dokumentacja , możesz po prostu użyć adresu URL, takiego jak:
https://wa.me/15551234567
Gdzie ostatni segment to liczba w formacie E164
źródło
To znacznie łatwiejszy sposób na osiągnięcie tego. Ten kod sprawdza, czy na urządzeniu jest zainstalowana aplikacja WhatsApp. Jeśli jest zainstalowany, omija selektor systemowy i przechodzi do kontaktu w WhatsApp i wstępnie wpisuje tekst na czacie. Jeśli nie jest zainstalowany, otwiera łącze WhatsApp w przeglądarce internetowej.
źródło
Będziesz chciał użyć adresu URL w następującym formacie ...
Następnie możesz poprosić o wysłanie dowolnego tekstu, który chcesz. Masz również możliwość określenia numeru telefonu ...
Czego nie można zrobić , to użyć następujących czynności:
Dostaniesz...
wa.me
Jednak zadziała, jeśli podasz zarówno numer telefonu, jak i tekst. Ale w większości, jeśli próbujesz utworzyć łącze do udostępniania, naprawdę nie chcesz podawać numeru telefonu, ponieważ chcesz, aby użytkownik kogoś wybrał. W takim przypadku, jeśli nie podasz numeru i nie użyjesz gowa.me
jako adresu URL, wszystkie linki do udostępniania zakończą się niepowodzeniem. Proszę użyćapp.whatsapp.com
.źródło
Sprawdź ten kod,
źródło
To działa dla mnie:
źródło
zdobądź numer kontaktowy, do którego chcesz wysłać wiadomość i utwórz uri dla WhatsApp, tutaj c to Kursor zwracający wybrany kontakt.
źródło
Z dokumentacji
Przykład kodu
źródło
Poniższego interfejsu API można używać w języku c ++, jak pokazano w moim artykule .
Musisz zdefiniować kilka stałych:
Następnie łączysz się z punktem końcowym interfejsu API.
Następnie wyślij nagłówek i treść i poczekaj na wynik, który musi być „OK”.
Krok 1 - otwórz żądanie HTTP:
Krok 2 - wyślij nagłówek:
Krok 3 - wyślij wiadomość:
Teraz po prostu sprawdź wynik:
źródło