使用标准gmail应用程序发送电子邮件,无需选择器

时间:2015-05-18 23:23:42

标签: android android-intent sendmail

我正在尝试使用标准的Gmail应用从我的应用发送电子邮件。 但我一直都在选择。 如何在没有选择器的情况下立即打开标准gmail应用程序? 我不需要任何可以发送电子邮件的应用程序的选择器。 我只需要GMAIL。 谢谢! 这是我的代码。

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.setClassName("com.google.android.gm", "com.google.android.gm.ConversationListActivity");
intent.putExtra(Intent.EXTRA_EMAIL  , new String[]{"mymail@gmail.com"});
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT   , "Text");
try {
    startActivity(intent);
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(getApplicationContext(), "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}

3 个答案:

答案 0 :(得分:4)

你能试试这段代码。

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    emailIntent.setType("plain/text");
    emailIntent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"someone@gmail.com"});
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Yo");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Hi");
    startActivity(emailIntent);

答案 1 :(得分:0)

请检查这个问题,它将主要帮助您解决第三个问题,因为这个注释,重要的是要注意,如果您打算使用此代码,请检查以确保用户具有“com”包。 google.android.gm“安装在他们的设备上。在任何语言中,请确保检查特定字符串和初始化的空值。

Intent URI to launch Gmail App

答案 2 :(得分:-1)

如果您想使用GMail应用,则需要使用ACTION.SENDTO意图 而不是选择者。您还将在URI文本中添加额外内容 而不是意图。

Bearing: 102.38029388096368
Distance: 90.59766443003579
X: 184
Y: 116