[android] Intent.EXTRA_EMAIL没有填充To字段


Answers

用这个

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

``}

这将工作:)
这是Android文档中关于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);
}
Question

我试图使用intent从我的应用程序发送电子邮件,但电子邮件的收件人字段不会填充。 如果我添加代码来填写主题或文本,它们可以正常工作。 只是收件人字段不会填充。

我也尝试将类型更改为“text / plain”和“text / html”,但我遇到了同样的问题。 任何人都可以帮忙吗?

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

我正在尝试使用的电子邮件客户端是Gmail




Related