0

我试图在电子邮件中发送各种条目变量,但我尝试输入多个“额外文本”意图,并且它只发送指定的最后一个额外文本中的文本。如何在电子邮件中获取所有条目文本?继承人的代码:

@Override
public void onClick(View v) {
    if (v.getId()==findViewById(R.id.enviar).getId())
    {
        Intent intentEmail = new Intent(Intent.ACTION_SEND, Uri.fromParts("mailto", "villasantdesign@gmail.com", null));
        intentEmail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"villasantdesign@gmail.com"});
        intentEmail.putExtra(Intent.EXTRA_SUBJECT, "Consulta Técnica");
        intentEmail.putExtra(Intent.EXTRA_TEXT, etlugar.getText()); 
        intentEmail.putExtra(Intent.EXTRA_TEXT, etfecha.getText());
        intentEmail.putExtra(Intent.EXTRA_TEXT, etcable.getText());
        intentEmail.putExtra(Intent.EXTRA_TEXT, etqe.getText());
        intentEmail.putExtra(Intent.EXTRA_TEXT, etantena.getText());
        intentEmail.putExtra(Intent.EXTRA_TEXT, etampli.getText());
        intentEmail.putExtra(Intent.EXTRA_TEXT, etmodulo.getText());
        intentEmail.setType("message/rfc822");
        startActivity(Intent.createChooser(intentEmail, "Enviar"));         
        }}}
4

3 回答 3

5

我对此有一点了解,你能像下面我的示例代码那样转换你的代码吗,可能是它的

public void onClick(View v) {

     String message = "";
     message += "\n" + etlugar.getText()); 
     message += "\n" + etfecha.getText());
     message += "\n" + etcable.getText()
     etc....


     Intent intentEmail = new Intent(Intent.ACTION_SEND, Uri.fromParts("mailto", "villasantdesign@gmail.com", null));
     intentEmail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"villasantdesign@gmail.com"});
     intentEmail.putExtra(Intent.EXTRA_SUBJECT, "Consulta Técnica");
     intentEmail.putExtra(Intent.EXTRA_TEXT, message ); 
     intentEmail.setType("message/rfc822");
     startActivity(Intent.createChooser(intentEmail, "Enviar"));   

}
于 2013-07-27T07:08:13.673 回答
3

您正在尝试发送作为关键标识符的额外文本。这意味着每次添加额外内容时都会更换它。所以只会发送最后一个额外的文本。尝试为每个额外的文本使用不同的键,这样你就会得到它。喜欢

intentEmail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"villasantdesign@gmail.com"});
        intentEmail.putExtra(Intent.EXTRA_SUBJECT, "Consulta Técnica");
        intentEmail.putExtra("Extra Text 1", etlugar.getText()); 
        intentEmail.putExtra("Extra Text 2", etfecha.getText());
        intentEmail.putExtra("Extra Text 3", etcable.getText());
        intentEmail.putExtra("Extra Text 4", etqe.getText());
        intentEmail.putExtra("Extra Text 5", etantena.getText());
        intentEmail.putExtra("Extra Text 6", etampli.getText());
        intentEmail.putExtra("Extra Text 7", etmodulo.getText());

您可以将自己的键名作为我在上面使用的字符串。并从 getextras 中的那个键中获取它。

于 2013-07-27T07:01:46.530 回答
0

连接您要添加的所有文本,然后仅添加一个Intent.EXTRA_TEXT. Intent.EXTRA_TEXT是 Bundle 中值的关键,这就是为什么你不能添加多个。

于 2013-07-27T07:02:10.073 回答