[英]Open Email using Android Intent
我正在使用以下代码通过电子邮件意图发送我的应用程序的反馈。 在构建版本 28 之前它一直工作正常。但是在 Android 29 中,我在打开电子邮件应用程序时没有收到主题和正文,它只显示到电子邮件地址而不是其他文本。 我的代码如下
String appName = getResources().getString(R.string.app_name);
int versionCode = BuildConfig.VERSION_CODE;
String versionName = BuildConfig.VERSION_NAME;
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 + ")";
deviceInfo += "\n App Version Code: " + versionCode;
deviceInfo += "\n App Version Name: " + versionName;
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "myemail@gmail.com", null));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, appName + " Problem");
emailIntent.putExtra(Intent.EXTRA_TEXT, "write your issue here \n\n\n______________________________\n\n" + deviceInfo);
startActivity(Intent.createChooser(emailIntent, "Send email..."));
我在 logcat 中没有收到任何错误。 让我知道是否有人可以帮助我解决问题。 谢谢!
我建议将所有内容都放在这样的意图数据中
Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
String mailTo = "mailto:example@example.com" +
"?cc=" + "" +
"&subject=" + Uri.encode("Email subject") +
"&body=" + Uri.encode("Email body");
emailIntent.setData(Uri.parse(mailTo));
// For result
startActivityForResult(Intent.createChooser(emailIntent, "Send email"), 100);
// Without result
startActivity(Intent.createChooser(emailIntent, "Send email"));
它工作正常,大多数(如果不是所有)电子邮件客户端都应该选择它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.