Envoyer des sms à des contacts spécifiques par programme (whatsapp)
Je voulais savoir comment je peux envoyer des sms à un contact whatsapp. J'ai trouvé un peu de code pour afficher un contact spécifique, mais ne pas envoyer de données.
Cursor c = getContentResolver().query(ContactsContract.Data.CONTENT_URI,
new String[] { ContactsContract.Contacts.Data._ID }, ContactsContract.Data.DATA1 + "=?",
new String[] { id }, null);
c.moveToFirst();
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("content://com.android.contacts/data/" + c.getString(0)));
startActivity(i);
c.close();
Cela fonctionne très bien pour de la visualisation d'un whatsapp-contact, mais comment puis-je ajouter du texte maintenant? Ou n'ont-ils pas Whatsapp-développeur de mettre en œuvre un tel genre d'une api?
- Duplciate de stackoverflow.com/questions/15462874/...
- Non, dans ton lien, ils utilisent un sélecteur, que je ne veux pas utiliser. Je veux envoyer des sms directement à un contact
- Il veut ouvrir l'historique de chat, alors que je veux envoyer un sms. C'est très différent.
- manu, j'ai utilisé votre code pour envoyer un message à partir de mon application pour whatsup sans ouvrir whatsup mais j'ai une erreur de getSherlockActivity() .Je suis nouveau sur android donc je ne comprends pas qu'est-ce que getsherlockactivity()
- êtes-vous résolu ce problème ?
- On dirait les messages ne peuvent pas être envoyer par programmation via WhatsApp, donc j'ai abandonné...
- Vous avez besoin d'avoir un coup d'oeil à une nouvelle réponse .
Vous devez vous connecter pour publier un commentaire.
Je pense que la réponse est un mélange de votre question et cette réponse ici: https://stackoverflow.com/a/15931345/734687
Je voudrais donc essayer le code suivant:
J'ai regardé dans le Whatsapp manifeste et vu que ACTION_SEND est inscrit à l'activité
ContactPicker
, de sorte que ne sera pas vous aider. Cependant ACTION_SENDTO est inscrit à l'activitécom.whatsapp.Conversation
qui semble la plus adéquate à votre problème.Whatsapp peut fonctionner comme un remplacement pour l'envoi de SMS, donc, il faut travailler comme les SMS. Lorsque vous ne spécifiez pas l'application souhaitée (via
setPackage
) Android affiche l'application sélecteur. Thererfor vous devez simplement regarder le code pour l'envoi de SMS via intention et ensuite fournir les informations sur les paquets.D'abord essayer juste de remplacer l'intention
ACTION_SEND
àACTION_SENDTO
. Si cela ne fonctionne pas que de fournir supplémentairesms_body
. Si cela ne fonctionne pas, que d'essayer de modifier l'uri.Mise à jour
J'ai essayé de résoudre moi-même et n'a pas été en mesure de trouver une solution. Whatsapp est l'ouverture de la discussion de l'histoire, mais ne pas prendre le texte et l'envoyer. Il semble que cette fonctionnalité n'est tout simplement pas mis en œuvre.
J'ai trouvé la bonne façon de le faire et c'est tellement simple, il vous suffit de lire cet article: http://howdygeeks.com/send-whatsapp-message-unsaved-number-android/
Code Source:
phone
etmessage
sont à la foisString
.Profitez-en!
Je l'ai fait!
Cette approche fonctionne avec WhatsApp application d'Entreprise ainsi!
Changement de nom du package sendIntent.setPackage("com.whatsapp.w4b"); pour WhatsApp Entreprise.
Grand hack Rishabh, merci beaucoup, je cherchais cette solution depuis 3 dernières années.
Que par la Rishabh Maurya la réponse ci-dessus, j'ai mis en œuvre ce code qui fonctionne bien pour le texte et les images partager sur WhatsApp.
Noter que dans les deux cas, il s'ouvre un whatsapp conversation (si toNumber existe dans les utilisateurs de whatsapp liste de contacts), mais vous devez cliquez sur le bouton envoyer pour terminer l'action. Qui signifie qu'il aide à sauter contacter étape de sélection.
Pour les messages texte
De partage d'images
Profiter De WhatsApping!
Elle vous permet d'ouvrir WhatsApp conversation écran pour que l'utilisateur spécifique que vous essayez de communiquer avec:
Découvrez ma réponse : https://stackoverflow.com/a/40285262/5879376
Ce sera d'abord rechercher le contact spécifié, puis ouvrez une fenêtre de chat.
Et si WhatsApp est pas installé, puis en bloc try-catch gérer cela.
Whatsapp avoir son propre API
Code mis à jour consultez ajoutée pour l'Activité n'est disponible ou pas.
Voir cette documentation
C'est le chemin le plus court
Voir aussi la documentation de WhatsApp
C'est maintenant possible grâce à la WhatsApp Affaires de l'API. Seules les entreprises peuvent s'appliquer à l'utiliser. C'est le seul moyen pour envoyer directement des messages à des numéros de téléphone, sans aucune intervention humaine.
À envoyer des messages gratuitement. On dirait vous avez besoin d'héberger une base de données MySQL et le WhatsApp Business Client sur votre serveur.
Ici essaie d'envoyer un message texte dans WhatsApp avec une autre application.
Supposons que nous avons un bouton, sur le bouton cliquez sur ur l'appel de méthode ci-dessous.
sendTextMsgOnWhatsApp("+91 9876543210", "Bonjour, c'est mon message de test");
Ajouter en-dessous de l'autorisation AndroidManifest.xml fichier
Vérifier cette réponse. Ici votre numéro de commencer avec "91**********".
essayer cette, travaillé pour moi ! . Utilisez simplement l'intention
Construire whatsapp url. ajouter un code de pays dans whatsapp numéro de téléphone https://countrycode.org/
Ce sera d'abord rechercher le contact spécifié, puis ouvrez une fenêtre de chat.
Remarque: phone_number et str sont variables.
HTML:
Au lieu de la polarisation de partager le contenu à whats app.
Code suivant est un code générique qui permettra de donner une solution simple à l'aide de "ShareCompact" que android ouvre la liste des applications qui prend en charge le partage du contenu.
Ici, je vais partager les données de type mime text/plain.
Whatsapp et la plupart des autres applications qui s'intègrent dans l'Android de base de composants (comme les Contacts) l'utilisation d'un mime-type en fonction de l'intention de lancer une certaine Activité au sein de l'application. Whatsapp utilise 3 types mime - messages texte (vnd.android.le curseur.item/vnd.com.whatsapp.de profil), les appels voip (vnd.android.le curseur.item/vnd.com.whatsapp.la voip.d'appel) et les appels vidéo(vnd.android.le curseur.item/vnd.com.whatsapp.vidéo.d'appel). Pour chacun de ces types mime, une activité distincte est mappé à l'intérieur du Manifeste de l'application. Ex: le type mime (...whatsapp.de profil) correspond à une Activité (com.whatsapp.La Conversation). Vous pouvez voir en détail si vous éliminez toutes les lignes de Données qui correspond à tout Whatsapp Raw_Contact dans votre base de données de Contacts.
C'est aussi la façon dont les Contacts Android app affiche 3 lignes séparées de l'action de l'utilisateur à l'intérieur d'un "Whatsapp contact", et en cliquant sur l'un de ces lignes lance une fonction distincte à l'intérieur de Whatsapp.
Pour lancer une Conversation (chat) Activité pour un certain contact dans Whatsapp, vous avez besoin pour tirer une intention contenant MIME_TYPE et DATA_URL. Le type mime des points pour le type mime correspondant à votre action telle que définie à l'intérieur de Whatsapp Brut de Contact dans la base de données de Contacts. Le DATA_URL est l'URI de la Raw_Contact dans l'Android de base de données de contacts.
C'est de la même manière que tous les Contacts de l'application utilisez-le pour lancer un chat pour un Whatsapp de contact. À l'intérieur de cette Activité, l'application (Whatsapp) lit dans le .getData() pour obtenir le DATA_URI qui a été adoptée pour cette Activité. Les Contacts Android app utilise un mécanisme standard pour utiliser l'URI de la Crue de Contact dans Whatsapp. Malheureusement, je ne suis pas au courant d'une façon par laquelle le .Conversation ativity dans Whatsapp lit dans n'importe quel texte /données d'informations de l'appelant de l'intention. Cela signifie essentiellement que sa possible (à l'aide d'un très technique standard) pour le lancement d'un certain "action de l'utilisateur" à l'intérieur de Whatsapp. De même que pour toute application similaire.