2012-02-27 23 views
24

पर एकाधिक अनुलग्नक समस्या मेरे पास एक अजीब स्थिति है।एंड्रॉइड ईमेल एचटीसी थंडरबॉल्ट

मैं कोड के निम्नलिखित भाग का उपयोग करके कई अनुलग्नकों के साथ ईमेल भेजने की कोशिश कर रहा हूं।

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE); 
// emailIntent.setType("plain/text"); 
emailIntent.setType("application/octet-stream"); 
... 
.... 
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); 

यह ठीक काम करता है और अंतर्निहित आशय तंत्र जीमेल, स्काइप, संदेश आदि जैसे विकल्पों में से एक बहुत ऊपर से पता चलता

समस्या यह है कि डिफ़ॉल्ट मेल क्लाइंट एचटीसी थंडरबोल्ट पर दिखाई नहीं करता है (लेकिन एचटीसी इनक्रेडिबल एस सहित अन्य उपकरणों पर काम करता है)।

अगर मैं Intent.ACTION_SEND का उपयोग कर एक अटैचमेंट भेजने का प्रयास करें, डिफ़ॉल्ट मेल क्लाइंट दिखाता है। मैंने सामग्री प्रकार को टेक्स्ट/सादा, एप्लाइशन/ऑक्टेट-स्ट्रीम, संदेश/आरएफसी 282 आदि में सेट करने का प्रयास किया है लेकिन कोई भी काम नहीं करता है।

मुझे यहां क्या याद आ रही है?

+0

अंत में मैंने एक ज़िप फ़ाइल में सभी अनुलग्नकों को बंडल किया और उस ज़िप फ़ाइल को अपलोड किया। –

+0

क्या आपने यह कोशिश की है? http://stackoverflow.com/questions/4552831/how-to-attach-multiple-files-to-email-client-in-android – juanlugm

उत्तर

0

थंडरबॉल्ट के सेंस के संस्करण में एक बग की तरह लगता है। जीत के लिए कस्टम यूआई, क्या मैं सही हूँ?

वैसे भी, मैं देखता हूं कि कौन सा ऐप वास्तव में थंडरबॉल्ट पर ईमेल संभालता है और यह पता लगाने के लिए एक if-statement डालता है कि डिवाइस एक थंडरबॉल्ट है या नहीं। यदि ऐसा है, तो इरादे की लक्षित कक्षा को जो भी हो, सेट करें। यदि ऐसा नहीं है, तो आप जो कर रहे हैं वह करें।

0

यह मेरे लिए बहुत अच्छा काम करता है, संदेश प्रकार निर्दिष्ट करना सुनिश्चित करें, इस प्रकार एंड्रॉइड ओएस जानता है कि किस प्रसारण का उपयोग करना है।

 String email = "[email protected]"; 
    Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE); 
    intent.setType("message/rfc822"); 
    intent.putExtra(Intent.EXTRA_EMAIL, new String[] {email}); // could have multiple address 
    intent.putExtra(Intent.EXTRA_SUBJECT, "Enter your subject here"); 
    intent.putExtra(Intent.EXTRA_TEXT, "message text as needed"); 
    ArrayList<Uri> arrayUri = new ArrayList<Uri>(); 
    arrayUri.add(Uri.parse("file://" + paths[0])); 
    arrayUri.add(Uri.parse("file://" + paths[1])); 
    intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, arrayUri); 
    startActivity(Intent.createChooser(intent, "Any title to show on chooser")); 
0

इसे आजमाएं। मुझे लगता है यह उचित होगा।

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE); 
emailIntent.setType("plain/text"); 

ArrayList<Uri> uris = new ArrayList<Uri>(); 

String[] filePaths = new String[] {image1 Path,image2 path}; 
for (String file : filePaths) { 
    File fileIn = new File(file); 
    Uri u = Uri.fromFile(fileIn); 
    uris.add(u); 
} 

if (!(app_preferences.getString("email", "") == null || app_preferences.getString("email", "").equals(""))) { 
    emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {app_preferences.getString("email", "")});  
} 

emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject name"); 
emailIntent.putExtra(Intent.EXTRA_TEXT, "Please find the attachment."); 
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); 

startActivity(Intent.createChooser(emailIntent, "Email:"));