2012-02-01 13 views
75

Uygulamamdan bir e-posta göndermek için kullanmaya çalışıyorum ancak e-postanın Kime alanı doldurulmayacak. Konu veya metni doldurmak için kod eklerseniz, iyi çalışırlar. Sadece Kime alanı doldurulmayacak.Intent.EXTRA_EMAIL To alanını doldurmuyor

Ayrıca türünü "text/plain" ve "text/html" olarak değiştirmeyi denedim, ancak aynı sorunu yaşıyorum. Birisi yardım edebilir mi lütfen?

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...")); } 

ben kullanmaya çalışıyorum e-posta istemcisi sana olması gerektiği array of string

olarak recipient geçmezken düşünüyorum Gmail

cevap

186

olduğunu

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

Android ... neden bu kadar acıklısınız? –

+2

hahaha, beni güldürdünüz +1 Milyon @BugsHappen .. Sebepler: Açık bir kaynak ama belgeler% 100 tatmin edici değil, cihaz üreticileri ihtiyaçlarına göre değişiklik yaparlar (çoğu cihaz ucuz ve işe yaramaz), geliştiriciler "geliştirici okumaz .android.com". – MKJParekh

+4

Ayrıca, * NOT * 'ın' intent.putExtra (Intent.EXTRA_EMAIL, list.toArray()) '' olduğundan emin olun. ** list.toArray() öğesi, Object [] ve String [] * üretmediğinden beri işe yaramaz. * – 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

Kullanımı gibi bu

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...")); 

``} 
This android dokümantasyon tüm "Kime" alıcı e-posta adresleri Intent.Extra_Email
-A dize dizisi için söyledikleridir :)
çalışacaktır. veri şeması:
Yani sen devamını oku http://developer.android.com/guide/topics/resources/string-resource.html http://developer.android.com/guide/components/intents-common.html#Email
buraya ve buraya Veya ACTION_SENDTO eylemini kullanın ve "mailto" içerebilir dize düzgün beslemeli. Örneğin:
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); 
}