如何在android中直接打开Gmail邮件作曲家?

Ars*_*war 3 gmail android

我使用以下代码.当我在设备上运行此代码时出现问题.它打开了一个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:"));
Run Code Online (Sandbox Code Playgroud)

son*_*ida 21

尝试这个,完美

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);
}
Run Code Online (Sandbox Code Playgroud)


Jim*_*ler 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);
Run Code Online (Sandbox Code Playgroud)

  • 请注意,setType应该是text/plain而不是plain/text(否则会出现ActivityNotFoundException).谢谢你的提示! (2认同)