2017-02-07 4 views
5

오랫동안 Googleing으로 결과를 가져 오지 못해서 내가 원하는 바가 있었는데, 다른 Android 앱에서 WhatsApp에 액세스하는 것과 관련하여 두 가지 질문이 있습니다.Android - WhatsApp 그룹 ID/공개 그룹 채팅

내 현재의 개발 상황을 설명 할 모든의

첫째 :

당신이 또는 WhatsApp를 통해 텍스트를 공유 할 수있는 응용 프로그램을 쓴합니다. 앱이 정확히 수행해야하는 작업을 수행합니다 (Android 개발에 완전히 새로운 점). 내가 발견 한 첫 번째 방법은 WhatsApp의 "Android 개발자를위한 FAQ"에 설명되어 있습니다. 그것은, 새로운 의도를 만들어 보내해야 할 텍스트를 미리 채 웁니다와 접촉 선택기 열립니다

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 

봤을 특정 개인 채팅을 열고 텍스트를 미리 기입하는 난 방법 (코드)를 발견 그래서 인터넷 검색 내가 공유하려는 :

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

그래서 제 질문은 다음과 같습니다

  1. 가 어떻게이 WhatsApp에 그룹의 WhatsApp에 ID를받을 수 있나요?
  2. 방법 2의 전화 번호를 그룹 ID로 바꾸는 것만으로 그룹 채팅을 열고 텍스트를 붙여 넣을 수 있습니까? 또는 그룹 채팅을 열고 미리 채울 수있는 또 다른 방법이 있습니까?

답변

1

그룹 링크를 사용해야합니다.
사용자가 앱을 설치하면 whatsapp 그룹 정보에서 그룹 링크를 복사 한 다음 앱에 직접 액세스하여 그룹 링크를 저장하도록 요청해야합니다.
이 링크는 그룹 관리자 만 볼 수 있으므로 사용자가 admin이 아닌 경우 관리자에게 링크를 요청하도록 지시해야합니다.
이 링크는 그룹에 대한 초대를 위해 whatsapp에서 의도 한 것이지만 원하는 그룹 채팅을 여는 작업을 수행합니다.

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

이 코드는 지정된 그룹 채팅을 엽니 다. 그러나 채팅에 텍스트를 미리 채울 수는 없습니다. 텍스트를 채울 수있는 방법이 있습니까? 게시물 ('intent.putExtra (Intent.EXTRA_TEXT, "myText")')에서와 동일하게 시도했지만 작동하지 않습니다. –

+0

현재 whatsapp "api"로는 수행 할 수없는 일이 두렵습니다. 이것은 그룹 채팅을 자동화하는 데 가장 가까운 것입니다. Facebook의 사람들이 whatsapp 스팸 및 모든 것을 막으려 고합니다.하지만 프로그래머가 더 개방 된 API를 필요로한다는 것을 이해해야합니다. – Ramiro

+0

하지만 고마워! 앞으로이 방법을 찾으면 여기에서 공유하면 좋을 것입니다. –