Comment partager du texte avec WhatsApp à partir de mon application?

je développe une application avec des fonctionnalités de partage de texte. Ça marche très bien, sauf pour WhatsApp. Que dois-je faire? Y a-t-il une API spécifique pour cela?

32
demandé sur Jonik 2012-10-18 14:45:45

9 réponses

Il n'y a pas de public officielle de l'api pour whats app....Donc, il n'est pas possible maintenant.

-17
répondu Saqqib 2012-11-06 13:23:30

Vous pouvez utiliser l'intention de le faire. Pas besoin d'utiliser Whatsapp API. Espérons que je n'ai pas mal compris votre question. Espère que ça aide, merci.

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.");
}
84
répondu Sonny Ng 2015-11-05 10:53:46

il y a deux façons de s'intégrer avec WhatsApp:

  • à travers un schéma D'URL personnalisé

  • via le système d'intentions D'Android.

si vous avez un site web et que vous souhaitez ouvrir un chat WhatsApp avec un message pré-rempli, vous pouvez utiliser notre schéma D'URL personnalisé pour le faire. L'ouverture de whatsapp://envoyer?text= suivi du texte à envoyer, va ouvrir WhatsApp, permet le l'utilisateur doit choisir un contact, et pré-remplir le champ d'entrée avec le texte spécifié.

comme la plupart des applications sociales sur Android, WhatsApp écoute à l'intention de partager des médias et du texte. Il suffit de créer une intention de partager du texte, par exemple, et WhatsApp sera affiché par le sélectionneur de système:

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

cependant, si vous préférez partager directement avec WhatsApp et contourner le capteur de système, vous pouvez le faire en utilisant setPackage dans votre intention:

sendIntent.setPackage("com.whatsapp");

cela serait tout simplement réglé juste avant que vous appeliez startActivity (sendIntent);

, Veuillez consulter ci-dessous le lien Officiel de WhatsApp Page: https://www.whatsapp.com/faq/en/android/28000012 ,

si vous voulez partager du texte avec un contact spécifique de WhatsApp, veuillez vous référer au code ci-dessous.

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

}

pour plus de détails, veuillez consulter le lien ci-dessous. envoyer le texte à un contact spécifique (whatsapp)

8
répondu Jitendra Kumar. Balla 2017-06-27 08:01:52
Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("text/plain");
    share.putExtra(Intent.EXTRA_TEXT, "Your text");
    startActivity(Intent.createChooser(share, "Share using"));
6
répondu Rutul Mehta 2016-07-18 10:49:11

Je ne suis pas sûr à 100%...mais je crains qu'il n'y ait pas D'API officielle. Je voulais aussi mettre en œuvre une fonctionnalité "envoyez-nous un whatsapp", mais j'abandonne pour un moment jusqu'à whatsapp.inc libération d'un officiel

il y a certaines API non-officielles, mais je ne sais pas si vous voulez cela...

http://www.whatsapp-api.com/developers.php

https://github.com/venomous0x/WhatsAPI

bonne chance....et si vous découvrez quelque chose, s'il vous plaît laissez-moi savoir ;)

1
répondu Rako 2012-11-05 17:34:40
1
répondu Nathalie Lima 2014-10-16 13:49:40
  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);
1
répondu Amrish Kakadiya 2015-02-28 10:57:36

si le périphérique de l'utilisateur n'a pas L'application Whatsapp alors vous avez le ActivityNotFoundException

si l'utilisateur n'a pas l'application whatsapp dans son appareil, alors je pensez que vous devez faire le déplacement de l'utilisateur vers le téléchargement whatsapp à partir de jouer magasin

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")));
        }
    }
0
répondu D Prince 2018-08-10 06:34:13
 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
0
répondu Asim 2018-08-31 21:14:05