Je veux ouvrir l'activité de conversation de l'application Comment puis-je faire cela? J'ai un numéro de téléphone de contact, ID de contact, contacter RAW ID et avez également l'URI de l'application pour un contact particulier. P> cmP = com.whatsapp / .conversion code> de mon application.
private void openWhatsApp(String id) {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("content://com.android.contacts/data/"+id));
Log.v("ssssss", s);
i.setType("vnd.android.cursor.item/vnd.com.whatsapp.profile");
i.setComponent(new ComponentName("com.whatsapp", ".Conversation"));
startActivity(i);
}
04-20 18:13:45.794: I/ActivityManager(1862): START
{act=android.intent.action.VIEW
dat=content://com.android.contacts/data/8269
typ=vnd.android.cursor.item/vnd.com.whatsapp.profile
cmp=com.whatsapp/.accountsync.ProfileActivity} from pid 32159
04-20 18:42:11.317: I/ActivityManager(1862): START {flg=0x14000000 cmp=com.whatsapp/.Conversation (has extras)} from pid 1150
5 Réponses :
private void openWhatsApp(String id) { 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(); } Where id is what's app uri like 0987654321@s.whatsapp.net
... Comment obtenir ID .Je pense que c'est ce qui est identité .Quand j'ai utilisé votre code. J'ai une erreur getSherlockactivity (). Je suis nouveau dans Android, donc je ne comprends donc pas ce qui est getSherlocactivité et où il est utilisé. Je veux juste envoyer un message de ma candidature à WhatsUp sans ouvrir ce qui est possible, il est possible ou non
phoneno@s.wwatsapp.net est ce qui est l'identifiant de l'application. Ou vous pouvez l'obtenir à partir de data1 code> colonne dans contacts.db. Il n'est pas possible d'envoyer un message à partir de votre application à WhatsUp sans Ouvrir Whats App.
@MAHISINGH Je viens de supprimer GetSherlockactivity () et sa fonctionne parfaitement.
@johnsmith Comment avez-vous trouvé cette information? Est-ce fonctionnaire? Un code similaire fonctionne-t-il pour d'autres réseaux sociaux et applications, comme FB-messager, Viber, Line, Telegram?
Ce code me donne un paquet non trouvé d'exception !! Impossible de trouver une application pour gérer l'intention.
Essayez ce code:
String smsNumber="919426640584@s.whatsapp.net"; Uri uri = Uri.parse("smsto:" + smsNumber); Intent i = new Intent(Intent.ACTION_SENDTO, uri); i.putExtra("sms_body", "Prakash Gajera"); i.setPackage("com.whatsapp"); startActivity(i);
Vous avez besoin du contactID du contact, vous ne pouvez pas utiliser le numéro SMS. Donc, il devrait ressembler à quelque chose 189202@s.wwatsapp.net où 189202 est l'identifiant du contact. Et cela ne lance que le profil de contact, WhatsApp ignore toujours SMS_body et d'autres valeurs extra_text.
Vous pouvez utiliser cet exemple
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse( "https://api.whatsapp.com/send?phone=+628119xxx&text=I'm%20interested%20in%20your%20car%20for%20sale" )));
Ma solution finale Lorsque le numéro de contact est inconnu de l'utilisateur.
éventuellement, vous pouvez définir un texte préformaté également. P>
try { String whatsAppRoot = "http://api.whatsapp.com/"; String number = "send?phone=+xxxxxxxxxxx"; //here the mobile number with its international prefix String text = "&text=HERE YOUR TEXT"; String uri = whatsAppRoot+number+text; Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(uri)); startActivity(intent); } catch (Exception e) { Toast.makeText(getApplicationContext(), "WhatsApp cannot be opened", Toast.LENGTH_SHORT).show(); }
String KEY_QUICK_REPLY_TEXT = "Dear Valued Customer Thank you for contacting us your reference Number is "+refernceNumber ; Intent intent = new Intent(Intent.ACTION_SEND); intent.setData(Uri.parse("http://api.whatsapp.com/send?phone="+phone +"&text="+KEY_QUICK_REPLY_TEXT)); startActivity(intent); Toast.makeText(MainActivity.this, response, Toast.LENGTH_SHORT).show();
Ajout de la brève description et le code a grandement amélioré cette question de "Je veux le code" à "J'ai essayé cela, pourriez-vous aider?" (ce qui fait une énorme différence ici.)
@Sam merci pour votre suggestion. Je garderai ça à l'esprit.
Ce n'est pas clair ce que vous demandez. Le code ne démarre pas la bonne application? (La sortie LOGCAT suggère le contraire.) Est-ce qu'il se bloque? Autre chose?