Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/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_Android Intent - Fatal编程技术网

Android 安卓:电子邮件';至';字段空

Android 安卓:电子邮件';至';字段空,android,email,android-intent,Android,Email,Android Intent,我正在为一家酒店开发一个应用程序,在预订房间时,该应用程序会向用户提供的电子邮件id发送一封电子邮件。现在,我知道它将使用我的默认电子邮件客户端之一,即gmail。问题是,它显示在gmail的“撰写邮件”窗口中,邮件正文中有“我的邮件”,但“收件人”字段为空。有什么帮助吗 代码如下: public void sendmail(View vw) { name=et1.getText().toString(); to=et2.getText().toStrin

我正在为一家酒店开发一个应用程序,在预订房间时,该应用程序会向用户提供的电子邮件id发送一封电子邮件。现在,我知道它将使用我的默认电子邮件客户端之一,即gmail。问题是,它显示在gmail的“撰写邮件”窗口中,邮件正文中有“我的邮件”,但“收件人”字段为空。有什么帮助吗

代码如下:

public void sendmail(View vw)
    {
        name=et1.getText().toString();
        to=et2.getText().toString();
        phone=et3.getText().toString();
        addr=et4.getText().toString();
        Log.i("Send email", "");
        Intent emailIntent = new Intent(Intent.ACTION_SEND);
         emailIntent.setData(Uri.parse("mailto:"));
          emailIntent.setType("text/plain");
          emailIntent.putExtra(Intent.EXTRA_EMAIL, to);
          emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Thanks for using our app");
          emailIntent.putExtra(Intent.EXTRA_TEXT, "Hello mr"+name+"We just received an email with your details asking for a reservation:"+phone+"  "+addr+"for room number"+x+"");
          try {
              startActivity(Intent.createChooser(emailIntent, "Send mail..."));
              finish();
              Log.i("Finished sending email...", "");
           }
           catch (android.content.ActivityNotFoundException ex) {
              Toast.makeText(getBaseContext(), "There is no email client installed.", Toast.LENGTH_SHORT).show();
           }
    }


}
额外的电子邮件中

一个字符串[]包含应发送到的电子邮件地址

像这样的方法应该会奏效:

Intent mailIntent = new Intent(Intent.ACTION_SENDTO);
mailIntent.setData(Uri.parse("mailto:"));
mailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{to});
mailIntent.putExtra(Intent.EXTRA_SUBJECT, "Thanks for using our app");
mailIntent.putExtra(Intent.EXTRA_TEXT, "Hello mr"+name+"We just received an email with your details asking for a reservation:"+phone+"  "+addr+"for room number"+x+"");
if (mailIntent.resolveActivity(getPackageManager()) != null) {
    startActivity(mailIntent);
} else {
    // no e-mail app installed
}
试试这个:

emailIntent.putExtra(Intent.EXTRA_EMAIL  , new String[]{"recipient@to.com"});
email intent需要一个字符串数组,但您提供的是一个字符串。因此,它在您的情况下不起作用

请提供一个,显示您正在使用的代码。