2017-02-07 31 views
5

po długim czasie Googleing, który nie przyniósł rezultatu, miałem nadzieję, że będzie, mam dwa pytania dotyczące dostępu do WhatsApp z innej aplikacji na Androida.Android - Identyfikator grupy WhatsApp/Otwarty czat grupowy

Przede wszystkim chcę wyjaśnić mój aktualny stan zaawansowania prac:

napisał aplikację, z którą można podzielić tekst przez WhatsApp. Aplikacja dokładnie robi to, co ma robić (ponieważ jestem całkowicie nowy w rozwoju Androida). Pierwszy sposób, jaki znalazłem, został opisany w "Najczęściej zadawanych pytaniach dla programistów Androida" w WhatsApp. Tworzy nową intencję, prefills tekst, który należy przesłać i otwiera wyboru kontaktów:

int pos = 0; //0 is just an example value 
Intent sendIntent = new Intent(); 
sendIntent.setAction(Intent.ACTION_SEND); 
PushAlert pa = pushAlerts.get(pos); //get my text object from ArrayList 
sendIntent.setPackage("com.whatsapp"); //directly choose WhatsApp as sharing app 
sendIntent.putExtra(Intent.EXTRA_TEXT, "*" + pa.getTitle() + " * \n +" + pa.getContent()); //filling 
sendIntent.setType("text/plain"); 
startActivity(sendIntent); //Open contact picker 

google i google tak znalazłem sposób (fragment kodu), aby otworzyć określoną prywatnego czatu i wstępnego wypełnienia go z tekstem Chcę podzielić:

private void openWhatsAppChat(){ 
    Intent sendIntent = new Intent("android.intent.action.SEND"); 
    sendIntent.setComponent(new ComponentName("com.whatsapp","com.whatsapp.ContactPicker")); 
    sendIntent.setType("text"); 
    sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators("phone number")+"@s.whatsapp.net"); //number without '+' prefix and without '0' after country code 
    sendIntent.putExtra(Intent.EXTRA_TEXT,"sample text you want to send along with the image"); 
    startActivity(sendIntent); 
} 

Więc moje pytania to:

  1. Jak mogę uzyskać WhatsApp identyfikator grupy WhatsApp?
  2. Czy mogę otworzyć czat grupowy i wkleić mój tekst tylko zastępując numer telefonu w metodzie 2 identyfikatorem grupy? Czy istnieje inny sposób otwierania i wypełniania czatu grupowego?

Odpowiedz

1

Musisz użyć linku do grupy.
Po zainstalowaniu aplikacji użytkownik powinien poprosić ich o skopiowanie linku do grupy z informacji grupy WhatsApp, a następnie zapisać go, aby uzyskać dostęp do tej grupy bezpośrednio z aplikacji.
Ten link jest widoczny tylko dla administratorów grup, więc jeśli użytkownik nie jest administratorem, poinstruuj go, aby poprosił o link od administratora.
Mimo że ten link został zaprojektowany przez WhatsApp dla zaproszenia do grup, to czyni zadanie otwarcia żądanego czatu grupowego.

Intent intentWhatsapp = new Intent(Intent.ACTION_VIEW); 
String url = "https://chat.whatsapp.com/<group_link>"; 
intentWhatsapp.setData(Uri.parse(url)); 
intentWhatsapp.setPackage("com.whatsapp"); 
startActivity(intentWhatsapp); 
+0

To prawda, ten kod otwiera określony czat grupowy. Nie mogę jednak wysłać tekstu do czatu. Czy istnieje sposób na wypełnienie tekstu? Próbowałem tak samo jak w poście ('intent.putExtra (Intent.EXTRA_TEXT," myText ")'), ale to nie działa. –

+0

Obawiam się, że nie można tego zrobić przy obecnym WhatsApp "api". Jest to najbliższa automatyzacja czatu grupowego. Rozumiem ludzi na Facebooku próbujących zapobiec spamowi WhatsApp i wszystkim, ale powinni zrozumieć, że my, programiści, potrzebujemy bardziej otwartego interfejsu API. – Ramiro

+0

Ale dzięki! Jeśli znajdziesz sposób na zrobienie tego w przyszłości, byłoby wspaniale, gdybyś go udostępnił tutaj. –