使用 Intent 发送包含设备信息的电子邮件

send email with device information using Intent

我想在用户点击某个电子邮件地址时将电子邮件发送到特定的电子邮件地址,但是当我点击发送时电子邮件字段为空

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

使用以下方法:

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

将 mimeType 添加到意图中并将邮件 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);
  }