Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将数组作为电子邮件内容发送_Android_Email - Fatal编程技术网

Android 将数组作为电子邮件内容发送

Android 将数组作为电子邮件内容发送,android,email,Android,Email,是否有可能将数组作为电子邮件内容传递 我正在尝试的是: 这都是一个onClick方法 首先获取“编辑文本字段” 从中创建一个字符串 String tbLocationMessage = tbLocation.getText().toString(); 然后尝试发送电子邮件 Intent email = new Intent(Intent.ACTION_SEND); email.putExtra(Intent.EXTRA_EMAIL, new String[] {

是否有可能将数组作为电子邮件内容传递

我正在尝试的是:

这都是一个
onClick
方法

首先获取“编辑文本字段”

从中创建一个字符串

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”)时,撰写文本字段是空的


为什么会发生这种情况?

Intent.EXTRA\u文本应该是字符序列,而不是字符串数组。尝试将它们串联起来,而不是将它们组成一个数组。请参阅:

使用下面的代码段从字符串数组中获取字符串对象并将其传入

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

尝试在email.putExtra行中传递实际文本字符串(Intent.EXTRA_text,新字符串[]{tbLocationMessage,tbFuActionMessage,tbImActionMessage,tbIssueToRaiseMessage});而不是传递一个对象引用。@techfirst当我只传递一个字符串时,这肯定会起作用。。但我想传递多个,然后我必须把它们放在一些包或数组中,等等。。还是我误解了你的意思?如果是的话,我是斯瑞森·康考特(srythen concat)并通过了,那有什么问题吗?@Techfist-ohh-man我觉得很糟糕,这么简单的解决方案。。很抱歉浪费了你的时间,但还是谢谢!!
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));