दिलचस्प पोस्ट
हैडर ने एक्सेस-कंट्रोल-अनुमति-उत्पत्ति को .htaccess में काम नहीं किया है कोको के साथ लॉगिन आइटम के रूप में पंजीकरण करें? साप्ताहिक 100,000 ईमेल कैसे भेजें? vuejs मूल घटक से मूल डेटा अपडेट करें बहिष्कृत रजिस्टर कीवर्ड C ++ 11 के लिए प्रतिस्थापन पावरशेल, अन्य संस्कृतियों में मूल्यों को स्वरूपित करना जावा में स्ट्रिंग को कैसे परिवर्तित करना है? DataGridView पंक्ति शीर्षलेख में टेक्स्ट जोड़ना एकाधिक / सिंगल उदाहरण के लिए Linq को SQL DataContext क्या इन्किर्ट हमेशा 0 से प्रारंभ होते हैं? अहस्ताक्षरित और हस्ताक्षरित पूर्णांक पर तुलना ऑपरेशन UITableView की पृष्ठभूमि को स्पर्श करके कीबोर्ड को खारिज करें जावास्क्रिप्ट में यूआरएल यूआरएल? पाइप वर्ण के साथ विभाजन स्ट्रिंग ("|") मैं जावास्क्रिप्ट में एक से अधिक सीएसएस शैलियाँ कैसे सेट करूं?

विशिष्ट संपर्क प्रोग्राम को टेक्स्ट भेजें (व्हाट्सएप)

मैं जानना चाहता था कि मैं विशिष्ट व्हाट्सएप संपर्क को कैसे पाठ भेज सकता हूं। मुझे कोई विशिष्ट संपर्क देखने के लिए कुछ कोड मिला, लेकिन डेटा भेजने के लिए नहीं

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

यह एक व्हाट्सएप संपर्क देखने के लिए ठीक काम करता है, लेकिन मैं अब कुछ पाठ कैसे जोड़ सकता हूं? या क्या इस तरह के एक एपीआई लागू Whatsapp- डेवलपर नहीं किया?

Solutions Collecting From Web of "विशिष्ट संपर्क प्रोग्राम को टेक्स्ट भेजें (व्हाट्सएप)"

मुझे लगता है कि जवाब आपके प्रश्न का एक मिश्रण है और यह उत्तर यहां दिया गया है: https://stackoverflow.com/a/15931345/734687 इसलिए मैं निम्नलिखित कोड का प्रयास करूंगा:

  1. ACTION_VIEW को ACTION_SENDTO में बदलें
  2. जैसा आपने किया था उरी सेट करें
  3. पैकेज को व्हाट्सएप पर सेट करें
 Intent i = new Intent(Intent.ACTION_SENDTO, Uri.parse("content://com.android.contacts/data/" + c.getString(0))); i.setType("text/plain"); i.setPackage("com.whatsapp"); // so that only Whatsapp reacts and not the chooser i.putExtra(Intent.EXTRA_SUBJECT, "Subject"); i.putExtra(Intent.EXTRA_TEXT, "I'm the body."); startActivity(i); 

मैंने व्हाट्सएप मैनिफेस्ट में देखा और देखा कि ACTION_SEND गतिविधि ContactPicker में पंजीकृत है, ताकि आप मदद नहीं करेंगे हालांकि ACTION_SENDTO गतिविधि com.whatsapp.Conversation पंजीकृत है। रूपांतरण, जो आपकी समस्या के लिए और अधिक पर्याप्त लगता है।

एसएमएस भेजने के लिए WhatsApp एक प्रतिस्थापन के रूप में काम कर सकता है, इसलिए इसे एसएमएस जैसे काम करना चाहिए। जब आप वांछित एप्लिकेशन निर्दिष्ट नहीं करते हैं ( setPackage द्वारा) एंड्रॉइड एप्लिकेशन पिकर प्रदर्शित करता है इसके लिए आपको आशय के जरिए एसएमएस भेजने के लिए कोड को देखना चाहिए और फिर अतिरिक्त पैकेज जानकारी प्रदान करनी चाहिए।

 Uri uri = Uri.parse("smsto:" + smsNumber); Intent i = new Intent(Intent.ACTION_SENDTO, uri); i.putExtra("sms_body", smsText); i.setPackage("com.whatsapp"); startActivity(i); 

पहला प्रयास ACTION_SEND को ACTION_SENDTO बदलने के लिए बस का प्रयास करें यदि यह अतिरिक्त अतिरिक्त sms_body प्रदान करने से काम नहीं करता है अगर यूरी को बदलने की कोशिश की तुलना में यह काम नहीं करता है

अपडेट मैं खुद को हल करने की कोशिश की और समाधान खोजने में सक्षम नहीं था। Whatsapp चैट इतिहास खोल रहा है, लेकिन पाठ नहीं लेता है और उसे भेजें ऐसा लगता है कि यह कार्यक्षमता अभी कार्यान्वित नहीं हुई है।

मैंने यह कर दिया है!

 private void openWhatsApp() { String smsNumber = "7****"; // E164 format without '+' sign Intent sendIntent = new Intent(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"); if (intent.resolveActivity(getActivity().getPackageManager()) == null) { Toast.makeText(this, "Error/n" + e.toString(), Toast.LENGTH_SHORT).show(); return; } startActivity(sendIntent); } 

मेरा जवाब देखें: https://stackoverflow.com/a/40285262/5879376

  Intent sendIntent = new Intent("android.intent.action.MAIN"); sendIntent.setComponent(new ComponentName("com.whatsapp","com.whatsapp.Conversation")); sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators("YOUR_PHONE_NUMBER")+"@s.whatsapp.net");//phone number without "+" prefix startActivity(sendIntent); 

महान हैष रिषभ, बहुत धन्यवाद, मैं पिछले 3 सालों से इस समाधान की तलाश में था।

ऊपर ऋषभ मौर्य के उत्तर के अनुसार, मैंने इस कोड को लागू किया है जो व्हाट्सएप पर टेक्स्ट और छवि साझा करने के लिए ठीक काम कर रहा है।

ध्यान दें कि दोनों मामलों में यह एक व्हाट्सएप वार्तालाप को खोलता है (यदि संख्या में उपयोगकर्ताओं की संपर्क सूची में मौजूद है), लेकिन उपयोगकर्ता को कार्रवाई पूरी करने के लिए भेजें बटन पर क्लिक करना होगा। इसका मतलब है कि यह संपर्क चयन चरण छोड़ने में मदद करता है

पाठ संदेशों के लिए

 String toNumber = "+91 98765 43210"; // contains spaces. toNumber = toNumber.replace("+", "").replace(" ", ""); Intent sendIntent = new Intent("android.intent.action.MAIN"); sendIntent.putExtra("jid", toNumber + "@s.whatsapp.net"); sendIntent.putExtra(Intent.EXTRA_TEXT, message); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.setPackage("com.whatsapp"); sendIntent.setType("text/plain"); startActivity(sendIntent); 

चित्र साझा करने के लिए

 String toNumber = "+91 98765 43210"; // contains spaces. toNumber = toNumber.replace("+", "").replace(" ", ""); Intent sendIntent = new Intent("android.intent.action.MAIN"); sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(imageFile)); sendIntent.putExtra("jid", toNumber + "@s.whatsapp.net"); sendIntent.putExtra(Intent.EXTRA_TEXT, message); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.setPackage("com.whatsapp"); sendIntent.setType("image/png"); context.startActivity(sendIntent); 

WhatsApping का आनंद लें!

यह उस विशिष्ट उपयोगकर्ता के लिए व्हाट्सएप बातचीत स्क्रीन को खोलने देता है जिसे आप आपसे संपर्क करने की कोशिश कर रहे हैं:

 private void openWhatsApp() { String smsNumber = "91XXXXXXXX20"; boolean isWhatsappInstalled = whatsappInstalledOrNot("com.whatsapp"); if (isWhatsappInstalled) { Intent sendIntent = new Intent("android.intent.action.MAIN"); sendIntent.setComponent(new ComponentName("com.whatsapp", "com.whatsapp.Conversation")); sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators(smsNumber) + "@s.whatsapp.net");//phone number without "+" prefix startActivity(sendIntent); } else { Uri uri = Uri.parse("market://details?id=com.whatsapp"); Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT).show(); startActivity(goToMarket); } } private boolean whatsappInstalledOrNot(String uri) { PackageManager pm = getPackageManager(); boolean app_installed = false; try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); app_installed = true; } catch (PackageManager.NameNotFoundException e) { app_installed = false; } return app_installed; } 

मुझे ऐसा करने का सही तरीका मिला और यह लेख पढ़ने के बाद ही सरल हो: http://howdygeeks.com/send-whatsapp-message-unsaved-number-android/

फ़ोन और संदेश दोनों स्ट्रिंग हैं

सोर्स कोड:

  PackageManager packageManager = context.getPackageManager(); Intent i = new Intent(Intent.ACTION_VIEW); try { String url = "https://api.whatsapp.com/send?phone="+ phone +"&text=" + URLEncoder.encode(message, "UTF-8"); i.setPackage("com.whatsapp"); i.setData(Uri.parse(url)); if (i.resolveActivity(packageManager) != null) { context.startActivity(i); } } catch (Exception e){ e.printStackTrace(); } 

का आनंद लें!

इस उत्तर की जांच करें। यहां आपका नंबर "91 **********" के साथ शुरू होता है।

 Intent sendIntent = new Intent("android.intent.action.MAIN"); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.setType("text/plain"); sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send."); sendIntent.putExtra("jid",PhoneNumberUtils.stripSeparators("91**********") + "@s.whatsapp.net"); sendIntent.setPackage("com.whatsapp"); startActivity(sendIntent); 

कोशिश करो, मेरे लिए काम किया! । बस इरादे का उपयोग करें

  Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(whatsappUrl())); startActivity(intent); 

व्हाट्सएप यूआरएल बनाएं whatsapp फोन नंबर में देश कोड जोड़ें https://countrycode.org/

 public static String whatsappUrl(){ final String BASE_URL = "https://api.whatsapp.com/"; final String WHATSAPP_PHONE_NUMBER = "628123232323"; //'62' is country code for Indonesia final String PARAM_PHONE_NUMBER = "phone"; final String PARAM_TEXT = "text"; final String TEXT_VALUE = "Hello, How are you ?"; String newUrl = BASE_URL + "send"; Uri builtUri = Uri.parse(newUrl).buildUpon() .appendQueryParameter(PARAM_PHONE_NUMBER, WHATSAPP_PHONE_NUMBER) .appendQueryParameter(PARAM_TEXT, TEXT_VALUE) .build(); return buildUrl(builtUri).toString(); } public static URL buildUrl(Uri myUri){ URL finalUrl = null; try { finalUrl = new URL(myUri.toString()); } catch (MalformedURLException e) { e.printStackTrace(); } return finalUrl; } 

यह पहले निर्दिष्ट संपर्क के लिए खोज करेगा और फिर चैट विंडो खोल देगा।

नोट: phone_number और str चर हैं

 Uri mUri = Uri.parse("https://api.whatsapp.com/send? phone=" + phone_no + "&text=" + str); Intent mIntent = new Intent("android.intent.action.VIEW", mUri); mIntent.setPackage("com.whatsapp"); startActivity(mIntent); 
  private void openWhatsApp() { //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("jid",whatsappId); sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); sendIntent.setPackage("com.whatsapp"); startActivity(sendIntent); } catch(Exception e) { Toast.makeText(this, "Error/n" + e.toString(), Toast.LENGTH_SHORT).show(); Log.e("Error",e+"") ; } } 

Whatsapp की नई सुविधा आ गई है इन की कोशिश

  Intent sendIntent = new Intent("android.intent.action.MAIN"); sendIntent.setAction(Intent.ACTION_VIEW); sendIntent.setPackage("com.whatsapp"); String url = "https://api.whatsapp.com/send?phone=" + "Phone with international format" + "&text=" + "your message"; sendIntent.setData(Uri.parse(url)); startActivity(sendIntent); 

क्रेडिट

यह दस्तावेज़ीकरण देखें