【问题标题】:send email with device information using Intent使用 Intent 发送带有设备信息的电子邮件
【发布时间】:2020-10-03 10:57:39
【问题描述】:

当用户单击电子邮件地址时,我想向特定电子邮件地址发送电子邮件,但单击发送时电子邮件字段为空白

String deviceInfo="Device Info:";
    deviceInfo += "\n OS Version: " + System.getProperty("os.version") + "(" + android.os.Build.VERSION.INCREMENTAL + ")";
    deviceInfo += "\n OS API Level: " + android.os.Build.VERSION.SDK_INT;
    deviceInfo += "\n Device: " + android.os.Build.DEVICE;
    deviceInfo += "\n Model (and Product): " + android.os.Build.MODEL + " ("+ android.os.Build.PRODUCT + ")";

    Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
    emailIntent.setData(Uri.parse("mailto:"));
    emailIntent.putExtra(Intent.EXTRA_EMAIL, "example@gamil.com");
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject");
    emailIntent.putExtra(Intent.EXTRA_TEXT, deviceInfo);
    if (emailIntent.resolveActivity(getActivity().getPackageManager()) != null) {
        startActivity(emailIntent);
    }

【问题讨论】:

  • ACTION_SENDTO 没有记录这些额外内容,因此不需要任何应用程序支持它们。如果您想使用这些附加功能,请使用 ACTION_SEND
  • 为什么除了电子邮件地址以外的所有数据都发送

标签: java android android-studio email android-intent


【解决方案1】:

将 mimeType 添加到 Intent 并将邮件 ID 放入数组中

 Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
 emailIntent.setType("message/rfc822");
 emailIntent.setData(Uri.parse("mailto:"));
 emailIntent.putExtra(Intent.EXTRA_EMAIL  , new String[]{"example@gamil.com"});
 emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject");
 emailIntent.putExtra(Intent.EXTRA_TEXT, deviceInfo);
 if (emailIntent.resolveActivity(getPackageManager()) != null) {
       startActivity(emailIntent);
  }

【讨论】:

    【解决方案2】:

    使用以下方法:

    Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
    emailIntent.setData(Uri.parse(String.format("mailto:%s", "example@gamil.com")));
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject");
    emailIntent.putExtra(Intent.EXTRA_TEXT, deviceInfo);
    

    【讨论】:

    • 不工作仅电子邮件自动填充其余主题和电子邮件正文为空
    猜你喜欢
    • 2012-03-24
    • 2015-05-17
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 2015-06-13
    • 2011-08-30
    • 1970-01-01
    • 2018-07-10
    相关资源
    最近更新 更多