Я разрабатываю приложение с функциональностью для обмена текстом. Это отлично работает, за исключением WhatsApp. Что мне делать? Есть ли какой-либо конкретный API для этого?
Как передать текст в WhatsApp из моего приложения?
Ответ 1
Нет публичного официального api для приложения. Так что теперь это невозможно.
Ответ 2
Вы можете использовать намерение сделать это. Не нужно использовать Whatsapp API. Надеюсь, что я не понял ваш вопрос неправильно. Надеюсь, что это поможет, спасибо.
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.");
}
Ответ 3
Есть два способа интеграции с WhatsApp:
-
Через пользовательскую схему URL
-
Через систему намерений Android.
Если у вас есть веб-сайт и вы хотите открыть чат WhatsApp с предварительно заполненным сообщением, вы можете использовать нашу собственную схему URL для этого. Открытие whatsapp://send? Text = с последующим текстом для отправки откроет WhatsApp, позволит пользователю выбрать контакт и предварительно заполнит поле ввода указанным текстом.
Как и большинство социальных приложений на Android, WhatsApp прислушивается к намерениям поделиться медиа и текстом. Просто создайте намерение обмениваться текстом, например, и WhatsApp будет отображаться системным средством выбора:
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);
Однако, если вы предпочитаете делиться напрямую с WhatsApp и обходить системный пикир, вы можете сделать это, используя setPackage в своем намерении:
sendIntent.setPackage("com.whatsapp");
Это будет просто установлено прямо перед вызовом startActivity (sendIntent);
Пожалуйста, обратитесь по ссылке ниже Официальная страница WhatsApp: https://www.whatsapp.com/faq/en/android/28000012,
Если вы хотите поделиться каким-либо текстом с конкретным контактом в WhatsApp, см. Код ниже.
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();
}
}
Для более подробной информации, пожалуйста, перейдите по ссылке ниже Отправить текст на конкретный контакт (WhatsApp)
Ответ 4
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, "Your text");
startActivity(Intent.createChooser(share, "Share using"));
Ответ 5
Если у пользователя нет приложения Whatsapp на устройстве, он получит исключение ActivityNotFoundException
Затем вы должны переместить пользователя, чтобы сначала загрузить приложение.
public void shareViaWhatsApp() {
Intent whatsappIntent = new Intent(Intent.ACTION_SEND);
whatsappIntent.setType("text/plain");
whatsappIntent.setPackage("com.whatsapp");
whatsappIntent.putExtra(Intent.EXTRA_TEXT, "Application of social rating share with your friend");
try {
Objects.requireNonNull(getActivity()).startActivity(whatsappIntent);
} catch (android.content.ActivityNotFoundException ex) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=com.whatsapp")));
}
}
Ответ 6
Я не уверен на 100%... но я боюсь, что официального выпуска API не существует. Я также хотел реализовать функцию "Отправить нам whatsapp", но я отказываюсь от времени, пока Whatsapp.inc не выпустит официальный
Есть некоторые неофициальные API, но я не знаю, хотите ли вы этого...
http://www.whatsapp-api.com/developers.php
https://github.com/venomous0x/WhatsAPI
удачи.... и если вы что-то обнаружите, пожалуйста, дайте мне знать;)
Ответ 7
Вы можете использовать API WhatsApp Android: http://www.whatsapp.com/faq/en/android/28000012 iOS: http://www.whatsapp.com/faq/en/iphone/23559013
Ответ 8
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);
Ответ 9
message = "this msg is sent from My App Time Track"
val intent = Intent()//Empty as we don't know the destination i.e implicit intent
intent.action = Intent.ACTION_SEND//intent will do work of sending something
intent.putExtra(Intent.EXTRA_TEXT, message)//send given message
intent.putExtra(Intent.EXTRA_SUBJECT,"Download Time Track App")//give the subject for your message
//Intent.Extra_Text is actually a globol key
intent.type = "plane/text"//type of intent
startActivity(Intent.createChooser(intent,"Send to: "))//createChooser is a dialogBox which shows app available to send data