以某种方式可以将数组作为电子邮件的内容传递吗?
我正在尝试:
这都是onClick
方法
首先获取“EditText字段”
EditText tbLocation = (EditText)findViewById(R.id.tbLocation);
从中创建一个字符串
String tbLocationMessage = tbLocation.getText().toString();
然后尝试发送电子邮件
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[] {});
email.putExtra(Intent.EXTRA_SUBJECT, "Near Miss Report");
email.putExtra(Intent.EXTRA_TEXT, new String []{tbLocationMessage,tbFuActionMessage,tbImActionMessage,tbIssueToRaiseMessage});
// need this to prompts email client only
email.setType("message/rfc822");
startActivity(Intent.createChooser(email,
"Choose an Email client :"));
}
当我设置一些断点时,我的数组都填充了我在文本字段中输入的文本。但是当我选择我的电子邮件客户端(“Gmail”)时,撰写文本字段为空...
为什么会这样?
答案 0 :(得分:2)
使用下面的代码片段从String数组中获取String对象并在
中传递它private String getMyStringMessage(String[] arr){
StringBuilder builder = new StringBuilder();
for(String s : arr) {
builder.append(s);
}
return builder.toString();
}
email.putExtra(Intent.EXTRA_TEXT, getMyStringMessage(yout_string_array));
答案 1 :(得分:0)
Intent.EXTRA_TEXT应该是CharSequence,而不是字符串数组。尝试连接它们,而不是制作它们的数组。请参阅:http://developer.android.com/reference/android/content/Intent.html#EXTRA_TEXT