我正在使用以下代码。当我在设备上运行此代码时出现问题。它打开了一个Dailogbox,它有3个发送邮件的选项。 “POP,电子邮件,Gmail等” 点击作曲家出现的gamil。 我只是想直接显示Gamil邮件编辑器。而不是显示一个用于选择选项的dailog框。请帮我。
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("text/html");
String subject = "My Subject";
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.setType("text/html");
String title = "<p align='center'>" + storyTitle + "<br/>" + storyPubDate + "</p>";
String data = "<p> Sent From ABC APP Sent from my Android </p>";
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(title + data));
startActivity(Intent.createChooser(emailIntent, "Email:"));
答案 0 :(得分:20)
试试这个,完美
public void shareToGMail(String[] email, String subject, String content) {
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, email);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, content);
final PackageManager pm = activity.getPackageManager();
final List<ResolveInfo> matches = pm.queryIntentActivities(emailIntent, 0);
ResolveInfo best = null;
for(final ResolveInfo info : matches)
if (info.activityInfo.packageName.endsWith(".gm") || info.activityInfo.name.toLowerCase().contains("gmail"))
best = info;
if (best != null)
emailIntent.setClassName(best.activityInfo.packageName, best.activityInfo.name);
activity.startActivity(emailIntent);
}
答案 1 :(得分:5)
不确定是否需要选择器。这来自我的一个应用......
final Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("plain/text");
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"jimblackler@gmail.com"});
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, content);
activity.startActivity(intent);
答案 2 :(得分:4)
试试此代码
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
"mailto", "abc@gmail.com", null));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "This is my subject text");
context.startActivity(Intent.createChooser(emailIntent, null));
价: http://developer.android.com/reference/android/content/Intent.html#ACTION_SENDTO \
答案 3 :(得分:1)
下面的代码对我有用。这将搜索电子邮件客户端并直接启动新电子邮件编辑器,其中预先填充已发送的值。如果没有电子邮件客户端,那么应该抓住它以避免崩溃。
对此解决方案的好想法是,在背面按下它会直接将您带到启动电子邮件意图的应用程序屏幕。
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:"));
intent.putExtra(Intent.EXTRA_SUBJECT, "Your Subject");
intent.putExtra(Intent.EXTRA_TEXT, "The message");
try {
startActivity(intent);
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(this, "Mail account not configured", Toast.LENGHT_SHORT).show();
}
谢谢!
答案 4 :(得分:0)
您无法以编程方式绕过此弹出式窗口。如果用户尝试访问该功能但未配置GMail会发生什么?
如果您想绕过,只需删除所有其他电子邮件客户端,以便GMail是唯一可以发送/接收电子邮件的客户端。这样弹出窗口就不会出现了。
答案 5 :(得分:0)
如果您的Android设备中有多个邮件编辑器,而您只是希望Gamil编写器启动您的请求,则必须
emailIntent.setClassName("xxxgamil composer package name xxx", "xxxgmail composer class name xxx");
startActivity(emailIntent);