2012-02-01 11 views
75

पर पॉपुलटिंग नहीं कर रहा है, मैं अपने आवेदन से ईमेल भेजने के लिए का उपयोग करने का प्रयास कर रहा हूं लेकिन ईमेल का क्षेत्रफल पॉप्युलेट नहीं होगा। अगर मैं विषय या पाठ को भरने के लिए कोड जोड़ता हूं, तो वे ठीक काम करते हैं। बस क्षेत्र में नहीं आ जाएगा।Intent.EXTRA_EMAIL फ़ील्ड

मैंने इस प्रकार को "टेक्स्ट/सादा" और "टेक्स्ट/एचटीएमएल" में बदलने की भी कोशिश की है, लेकिन मुझे एक ही समस्या है। क्या कोई मदद कर सकता है?

public void Email(){ 

    Intent emailIntent = new Intent(Intent.ACTION_SEND); 
    emailIntent.setType("message/rfc822"); //set the email recipient 
    String recipient = getString(R.string.IntegralEmailAddress); 
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL , recipient); 
    //let the user choose what email client to use 
    startActivity(Intent.createChooser(emailIntent, "Send mail using...")); } 

ईमेल क्लाइंट मैं उपयोग करने के लिए कोशिश कर रहा हूँ जीमेल

उत्तर

186

है मुझे लगता है कि आप के रूप में array of string

recipient गुजर नहीं कर रहे हैं यह होना चाहिए की तरह

emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { "[email protected]" }); 
+9

एंड्रॉइड ... आप इतने दयनीय क्यों हैं? –

+2

हाहाहा, आपने मुझे +1 मिलियन @ बुग्सप्पन को हंस दिया .. कारण: इसका एक खुला स्रोत है लेकिन दस्तावेज 100% संतोषजनक नहीं हैं, डिवाइस निर्माता अपनी आवश्यकताओं के अनुसार संशोधित होते हैं (अधिकांश डिवाइस सस्ते और बेकार हैं), डेवलपर्स "डेवलपर" नहीं पढ़ते हैं .android.com "। – MKJParekh

+4

यह भी सुनिश्चित करें कि आप * नहीं * कर रहे हैं 'intent.putExtra (Intent.EXTRA_EMAIL, list.toArray()) '** यह सूची के बाद से काम नहीं करेगा .toArray() ऑब्जेक्ट उत्पन्न करता है [] और स्ट्रिंग नहीं [] * * – kape123

1
private void callSendMeMail() { 
    Intent Email = new Intent(Intent.ACTION_SEND); 
    Email.setType("text/email"); 
    Email.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); 
    Email.putExtra(Intent.EXTRA_SUBJECT, "Feedback"); 
    startActivity(Intent.createChooser(Email, "Send mail to Developer:")); 
} 
4

उपयोग यह

public void Email(){ 
    // use this to declare your 'recipient' string and get your email recipient from your string xml file 
    Resources res = getResources(); 
    String recipient = getString(R.string.IntegralEmailAddress); 
    Intent emailIntent = new Intent(Intent.ACTION_SEND); 
    emailIntent.setType("message/rfc822"); //set the email recipient 
    emailIntent.putExtra(Intent.EXTRA_EMAIL, recipient); 
    //let the user choose what email client to use 
    startActivity(Intent.createChooser(emailIntent, "Send mail using...")); 

``} 

यह :)
काम करेंगे यह वही है एंड्रॉयड प्रलेखन सभी "प्रति" प्राप्तकर्ता ईमेल पतों की Intent.Extra_Email
-एक स्ट्रिंग सरणी के बारे में कहते हैं।
तो तुम स्ट्रिंग ठीक से फ़ीड आप अधिक पढ़ें यहाँ पर
http://developer.android.com/guide/components/intents-common.html#Email और यहाँ http://developer.android.com/guide/topics/resources/string-resource.html या ACTION_SENDTO कार्रवाई का उपयोग करें और "mailto:" शामिल कर सकते हैं चाहिए डेटा योजना। उदाहरण के लिए:

Intent intent = new Intent(Intent.ACTION_SENDTO); 
intent.setData(Uri.parse("mailto:")); // only email apps should handle this 
intent.putExtra(Intent.EXTRA_EMAIL, addresses); 
intent.putExtra(Intent.EXTRA_SUBJECT, subject); 
if (intent.resolveActivity(getPackageManager()) != null) { 
    startActivity(intent); 
} 
संबंधित मुद्दे