Ouvrez la conversation dans Whatsapp et remplir le texte
Je veux ouvrir WhatsApp
à une conversation et de remplir le champ de texte avec une chaîne de caractères.
Code que j'ai et j'ai réussi à ouvrir la conversation avec un contact:
private void openConversationWithWhatsapp(String e164PhoneNumber){
String whatsappId = e164PhoneNumber+"@s.whatsapp.net";
Uri uri = Uri.parse("smsto:" + whatsappId);
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
intent.setPackage("com.whatsapp");
intent.putExtra(Intent.EXTRA_TEXT, "text");
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_TITLE, "title");
intent.putExtra(Intent.EXTRA_EMAIL, "email");
intent.putExtra("sms_body", "The text goes here");
intent.putExtra("text","asd");
intent.putExtra("body","body");
intent.putExtra("subject","subjhect");
startActivity(intent);
}
La zone de texte n'est cependant pas rempli avec du contenu. J'ai essayé de jeter un regard à l'intérieur de la AndroidManifest.xml
fichier et trouvé les informations suivantes au sujet de leur conversation de l'activité:
<activity android:theme="@style/Theme.App.CondensedActionBar" android:name="com.whatsapp.Conversation" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="stateUnchanged">
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
</intent-filter>
</activity>
Ne savez supplémentaires à utiliser?
Sont-ils le blocage de ce fait exprès?
J'ai vu une API pour iOS qu'ils ont dans leur FAQ page.
Cependant Whatsapp n'a pas une API ouverte. Le code que vous utilisez n'est pas garanti pour l'éternité!
Vérifiez ceci : stackoverflow.com/questions/19081654/...
Vérifiez ceci : stackoverflow.com/questions/19081654/...
OriginalL'auteur Bogdan M. | 2014-06-04
Vous devez vous connecter pour publier un commentaire.
Malheureusement, ils n'ont pas implémenter cette fonctionnalité sur android (peut-être qu'ils ne dans le futur).
J'ai déjà demandé une question similaire, mais sans résultats. Alors que whatsapp réagit à certains égards, comme celle que vous montrez dans votre code, il suffit de ne pas utiliser le texte que vous envoyez. Je suppose que c'est pour des raisons de sécurité, imaginez la quantité de whatsapp-spammeur applications dans le play store... je ne sais pas comment (et pourquoi) il est mis en œuvre dans iOS...
La deux alternatives qui viennent près de votre solution sont
Google aujourd'hui un partenariat avec la 3ème partie de messagerie pour le faire fonctionner. Il n'y a pas une API par whatsapp pour vous.
Cette réponse est obsolète, @Ekky Hermestian IW a la bonne réponse: stackoverflow.com/a/47635819/2614353
OriginalL'auteur CommonGuy
Je l'ai fait!
OriginalL'auteur BahaR
Mise à jour en 2017
sur cette base Whatsapp FAQ
im en utilisant cette url
62 est de l'Indonésie code de Numérotation
puis-je utiliser intention comme cette (im en utilisant kotlin)
remplacer 62xxxxx avec votre numéro de
ce travail très bien à moi
OriginalL'auteur Ekky Hermestian IW
Essayez d'utiliser la solution suivante pour envoyer l'image et le texte.
Vous pouvez setType comme "texte" et de supprimer extra_stream de l'utiliser uniquement pour l'envoi de texte.
DES INFORMATIONS SUPPLÉMENTAIRES SUR LE PROCESSUS DE TROUVER LA SOLUTION :
Après ingénierie inverse WhatsApp, je suis tombé sur l'extrait suivant de manifeste Android,
Normal de la Part de l'intention, utilise "ENVOYER", ce qui ne vous permettent pas d'envoyer à un contact spécifique et nécessite un sélecteur de contacts.
Le contact est repris en cours de Conversation et utilise des "SEND_TO" de l'action, mais il utilise les sms corps et ne peuvent pas prendre la place de l'image et d'autres pièces jointes.
Creuser plus loin, je suis tombé sur ce,
Enfin à l'aide d'un decompiler pour ContactPicker et cours de Conversation,la clé-valeur pour le numéro de téléphone a été trouvé pour être "jid".
OriginalL'auteur Bhavita Lalwani
Vous pouvez utiliser l'extrait de code suivant pour WhatsApp:
C'est un copié réponse!
PackageInfo
a été utilisé pour vérifier si whatsapp est installé ou pas. Il retournenull
si whatsapp n'est pas installé. Plus tard, il s'est retiré de cette réponse repose sur quelques commentaires. Donc, la réponse de guy mettre le code deelse
bloc danscatch
bloc.La ligne est utilisée pour vérifier si WhatsApp est installé ou pas. Si elle n'est pas installée, getPackageInfo() lève une exception et le bloc catch est exécuté. Examen developer.android.com/reference/android/content/pm/... pour de la documentation sur comment getPackageInfo() fonctionne.
OriginalL'auteur Varun
ce code est de travailler pour moi . où la jid est le numéro de téléphone sans le"+"
ce qui permet de MODIFIÉ Versions de WhatsApp comme WhatsApp+ etc..
seulement en passant la WhatsApp Nom du Package .
vous pouvez trouver plein de Code dans MyApp
OriginalL'auteur 3llomi
Utilisez code ci-Dessous pour Ouvrir des conversations en ce que l'Application
Remarque : toujours entrer le code de pays sans le "+" pour le nombre.
OriginalL'auteur Kundan Singh
Méthode 1 - Utilisation d'android nom du composant
Méthode 2 - l'Utilisation de whatsapp api uri
OriginalL'auteur Pranav V R