2011-01-23 4 views
8

मैं बिटमैप को मेल में अनुलग्नक के रूप में भेजना चाहता हूं। छवि एसडीकार्ड या डिवाइस में कहीं भी संग्रहीत नहीं है। बिटमैप ऑब्जेक्ट रनटाइम पर बनाया जाता है और इसे अटैचमेंट के रूप में भेजा जाना चाहिए।एंड्रॉइड में अटैचमेंट के रूप में बिटमैप ऑब्जेक्ट के साथ ईमेल भेजें?

उत्तर

9

फिर, आपको बिटमैप को एसडीकार्ड में सहेजना होगा, और उसके बाद इसे ईमेल से संलग्न करें (मुझे लगता है, आप know how to do so)।

इसे एसडीकार्ड में सहेजना क्यों आवश्यक है? ऐसा इसलिए है क्योंकि ईमेल ऐप को उस फ़ाइल को पढ़ना होगा जिसे वह संलग्न किया जा रहा है; इस प्रकार, आपको ईमेल क्लाइंट को पथ और फ़ाइल नाम पास करना होगा। किसी अन्य ऐप के रूप में, ईमेल क्लाइंट केवल अपनी निजी निर्देशिका या एसडीकार्ड में संग्रहीत फ़ाइलों तक पहुंच सकता है।

+0

जानकारी के लिए Thanx। क्या कोई तरीका है कि हम बिटमैप ऑब्जेक्ट को सीधे भेज सकते हैं और इसे एसडीकार्ड में सहेजकर नहीं? मैं नहीं चाहता कि छवियां अन्य ऐप्स या उपयोगकर्ता के लिए पहुंच योग्य हों। – mobiledev

+0

ईमेल भेजने के बाद आप छवि को हटा सकते हैं। – Cristian

+0

मुझे कैसे पता चलेगा कि ईमेल भेजा गया है या नहीं? ACTION_SEND मंशा शुरू करने के लिए कोई प्रारंभिकताफॉररसेट विधि नहीं है। साथ ही, एचटीएमएल के रूप में अनुलग्नक भेजना संभव होगा। – mobiledev

4
/* Return Drawable Object from Specified imageUrl In Web 

@imageUrl : image Url in Web 

*/ 

try { 
/// Getting image from Web 
    InputStream is = (InputStream) new URL(imageUrl).getContent(); 
    // storing image from stream 
    drawable = Drawable.createFromStream(is, "srcName"); 
    is.close(); 
    // converting drawable object to Bitmap to store in content providers of Media 
    Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); 
    // Store image in Devise database to send image to mail 
    String path = Images.Media.insertImage(getContentResolver(), bitmap,"title", null); 
    Uri screenshotUri = Uri.parse(path); 
    final Intent emailIntent1 = new Intent( android.content.Intent.ACTION_SEND); 
    emailIntent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    emailIntent1.putExtra(Intent.EXTRA_STREAM, screenshotUri); 
    emailIntent1.setType("image/png"); 
    startActivity(Intent.createChooser(emailIntent1, "Send email using")); 

} 
catch(Exception e) { } 
+0

आकर्षण की तरह काम किया! धन्यवाद – LeoSarena