2017-02-07 9 views
5

после долгого Googleing, который не принес результата, я надеялся, что у меня возникнут два вопроса о доступе к WhatsApp из другого приложения для Android.Android - идентификатор группы WhatsApp/открытый групповой чат

Прежде всего, я хочу объяснить мое текущее состояние развития:

написал приложение, с которым вы можете поделиться какой-нибудь текст с помощью WhatsApp. Приложение точно выполняет то, что он должен делать (поскольку я совершенно не знаком с разработкой Android). Первый способ, который я нашел, был описан в «Часто задаваемых вопросах для разработчиков Android» WhatsApp. Он создает новый замысел, может содержать только текст, который должен быть посылать и открывает контакт подборщик:

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?
  2. Могу ли я открыть групповой чат и вставить свой текст только с заменой номера телефона в методе 2 идентификатором группы? Или есть другой способ открыть и заполнить групповой чат?

ответ

1

Вам необходимо использовать контакт группы.
Когда пользователь устанавливает ваше приложение, вы должны попросить их скопировать групповую ссылку из информации о группе whatsapp, а затем сохранить ее для доступа к этой группе непосредственно из приложения.
Эта ссылка видна только администраторам группы, поэтому, если пользователь не является администратором, вы должны проинструктировать его, чтобы он просил ссылку у администратора.
Хотя эта ссылка была задумана 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, пытаясь предотвратить спам WhatsAp и все, но они должны понимать, что программистам нужна более открытая api. – Ramiro

+0

Но спасибо в любом случае! Если вы найдете способ сделать это в будущем, было бы здорово, если бы вы поделились им здесь. –

Смежные вопросы