दिलचस्प पोस्ट
लिनक्स में कई धागे के साथ सिग्नल से निपटने क्यों नहीं कोई डिफ़ॉल्ट हल-असाइनमेंट / चाल-कन्स्ट्रक्टर? क्रॉस-मूल 'प्राधिकार' – jquery.ajax के साथ हैडर () एसिंक्रोनस / पृष्ठभूमि थ्रेड स्थिति की निगरानी कैसे करें और JSF घटक में नोटिफिकेशन प्राप्त करें एकाधिक डेक्स फाइलें लैंड्रोइड / सपोर्ट / वी 4 / एक्सेसिबिलिटी सेवा / एक्सेसिबिलिटी सेवा इन्फ़ो कॉम्पेट को परिभाषित करती हैं विस्तृत 500 त्रुटि संदेश, एएसपी + आईआईएस 7.5 विशिष्ट वस्तु को Rdata फ़ाइल से प्राप्त करें रेगेक्स पैटर्न को मैच करने के लिए, को छोड़कर जब … / बीच में को छोड़कर "इंटरफ़ेस के लिए प्रोग्राम" का क्या अर्थ है? एंड्रॉइड 6 पर स्थान अनुमति का अनुरोध कैसे करें YouTube लाइव प्रसारण के दौरान 'चैट' बॉक्स के माध्यम से दर्ज की गई टिप्पणियों की फ़ीड कैसे प्राप्त करें? पायथन के अंदर "पीआईपी स्थापित" क्यों एक सिंटेक्स एरर उठाती है? लैंडस्केप और पोर्ट्रेट दिशा दोनों में केवल एक UIViewController को घुमाने के लिए कैसे अनुमति दें? अल्पविराम सीमांकित सूची SQL सर्वर बनाने के लिए यह क्वेरी क्या करती है? Jquery live () बनाम प्रतिनिधि ()

इंटेंट का उपयोग करते हुए एंड्रॉइड कई ईमेल अटैचमेंट

मैं ACTION_SEND साथ आशय का उपयोग कर एक अनुलग्नक (छवि फ़ाइल, ऑडियो फ़ाइल आदि) के साथ ईमेल भेजने के लिए एंड्रॉइड कार्यक्रम पर काम कर रहा ACTION_SEND । यह कार्यक्रम तब काम कर रहा है जब ईमेल में एक एकल अनुलग्नक होता है। मैंने Intent.putExtra(android.content.Intent.EXTRA_STREAM, uri) को नामित छवि फ़ाइल को मेल में जोड़ने के लिए प्रयोग किया और यह ठीक काम कर रहा है, मेल को Gmail के माध्यम से वितरित किया जा सकता है। हालांकि, जब मैंने कई बार Intent.putExtra(android.content.Intent.EXTRA_STREAM, uri) को कॉल करके एक ही मेल से कई चित्र संलग्न करने की कोशिश की तो यह काम करने में विफल रहा। ईमेल में कोई भी अनुलग्नक दिखाई नहीं दे रहा है

मैंने एसडीके दस्तावेज़ीकरण और एंड्रॉइड प्रोग्रामिंग यूजर समूह को ई-मेल अटैचमेंट के बारे में खोज लिया लेकिन कोई भी संबंधित जानकारी नहीं मिली। हालांकि, मैंने पाया है कि एक और इरादा लगातार ACTION_SEND_MULTIPLE (एपीआई स्तर 4 के बाद से उपलब्ध है) जो मेरी आवश्यकता को पूरा कर सकता है एसडीके दस्तावेज़ीकरण के आधार पर, यह केवल यह बताता है कि यह किसी और को कई डेटा वितरित करता है, यह डेटा कई तरह के अलावा, यह ACTION_SEND जैसा काम करता है लेकिन मैं अभी भी इस आदेश के लिए सही उपयोग नहीं समझ सका। मैंने ACTION_SEND_MULTIPLE साथ इरादे को घोषित करने की कोशिश की, फिर कई छवियों को संलग्न करने के लिए कई बार putExtra(EXTRA_STREAM, uri) कॉल करें, लेकिन मुझे पहले की तरह ही गलत परिणाम मिला, ईमेल में से कोई भी अटैचमेंट दिखाई नहीं देता

क्या किसी ने ACTION_SEND_MULTIPLE साथ कोशिश की और उसे कई ईमेल अटैचमेंट के साथ काम करना पड़ा?

वेब के समाधान से एकत्रित समाधान "इंटेंट का उपयोग करते हुए एंड्रॉइड कई ईमेल अटैचमेंट"

यहां कोड है जिसे आपको एक ईमेलइंटेंट बनाने की आवश्यकता है जिसमें एकाधिक संलग्नक शामिल हैं।

 public static void email(Context context, String emailTo, String emailCC, String subject, String emailText, List<String> filePaths) { //need to "send multiple" to get more than one attachment final Intent emailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); emailIntent.setType("text/plain"); emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{emailTo}); emailIntent.putExtra(android.content.Intent.EXTRA_CC, new String[]{emailCC}); emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); emailIntent.putExtra(Intent.EXTRA_TEXT, emailText); //has to be an ArrayList ArrayList<Uri> uris = new ArrayList<Uri>(); //convert from paths to Android friendly Parcelable Uri's for (String file : filePaths) { File fileIn = new File(file); Uri u = Uri.fromFile(fileIn); uris.add(u); } emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); context.startActivity(Intent.createChooser(emailIntent, "Send mail...")); } 

ACTION_SEND_MULTIPLE कार्रवाई होनी चाहिए

और फिर emailIntent.setType("text/plain");

के बाद:

 ArrayList<Uri> uris = new ArrayList<Uri>(); String[] filePaths = new String[] {"sdcard/sample.png", "sdcard/sample.png"}; for (String file : filePaths) { File fileIn = new File(file); Uri u = Uri.fromFile(fileIn); uris.add(u); } emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); startActivity(emailIntent); 

यह मेरे लिए काम करता है

यहां मुझे बहुत अच्छा उदाहरण मिला http://www.blackmoonit.com/2010/02/filebrowser-send-receive-intents/

तुम्हें अवश्य उपयोग करना चाहिए

 final Intent aIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); aIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,theUris); aIntent.setType(theOverallMIMEtype); 

यद्यपि यह एक पुरानी धागा है, लेकिन जैसा कि यह Google खोजों पर शीर्ष पर दिखाया गया है, मैं इसे पूरा करने के लिए एक छोटा संकेत जोड़ना चाहता हूं, इसलिए मैं उस पर टकराया।

मेल गतिविधि के लिए संलग्न फ़ाइलों को पठनीय बनाने के लिए आवश्यक है, अन्यथा वे संलग्न नहीं किए जाएंगे। तो आपको कहीं कॉल करना है

 fileIn.setReadable(true, false) 

कई अटैचमेंटों के लिए PutParcelableArrayListExtra(Intent.ExtraStream, uris) जहां यूआरआईएस चर एक List<IParcelable>(). यहां एक उदाहरण है:

 var email = new Intent(Intent.ActionSendMultiple); email.SetType("text/plain"); email.PutExtra(Intent.ExtraEmail, new string[]{emailTo}); email.PutExtra(Intent.ExtraCc, new string[]{emailCC}); var uris = new List<IParcelable>(); filePaths.ForEach(file=> { var fileIn = new File(file); var uri = Android.Net.Uri.FromFile(fileIn); uris.Add(uri); }); email.PutParcelableArrayListExtra(Intent.ExtraStream, uris); context.StartActivity(Intent.CreateChooser(email, "Send mail...")); 

उम्मीद है की यह मदद करेगा 😉