通过邮件发送带附件的邮件,无需选择器

时间:2014-03-27 09:03:09

标签: android email

我通过我的应用程序使用以下代码发送邮件:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"email@example.com"});
intent.putExtra(Intent.EXTRA_SUBJECT, "subject here");
intent.putExtra(Intent.EXTRA_TEXT, "body text");

Uri uri = Uri.parse("file://" + file_name+".jpg");
intent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(intent, "Send email..."));

这很好用,但是如果没有Intent.createChooser我怎么能这样做,并且不要让用户选择应用程序进行共享并直接转到Gmail应用程序,假设每个Android手机都有。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码打开您想要的任何意图,例如gmail,facebook,email等。在代码传递中使用的类型中的简单" gmail"如果你想打开Gmail,通过" face"如果你想打开Facebook

Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
intent.setType("text/html");
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(intent, 0);

if (!resInfo.isEmpty())
{
    for (ResolveInfo info : resInfo) 
    {
    if (info.activityInfo.packageName.toLowerCase().contains(type) || info.activityInfo.name.toLowerCase().contains(type)) 
    {
            intent.putExtra(android.content.Intent.EXTRA_TEXT, htmlBody);
            intent.setPackage(info.activityInfo.packageName);   
            startActivity(Intent.createChooser(intent, getResources().getString(R.string.share_send_text)));
        }
}