Baby_Bonnie 2012-11-19 09:06 采纳率: 96.4%
浏览 9704
已采纳

通过gmail发送电子邮件

我用编程的方式使用 fires intent来实现发送电子邮件的功能:

Intent i = new Intent(Intent.ACTION_SEND);
        i.setType("text/plain");
        i.putExtra(Intent.EXTRA_EMAIL,
                        new String[] { to });
        i.putExtra(Intent.EXTRA_SUBJECT, subject);
        i.putExtra(Intent.EXTRA_TEXT, msg);
        try {
            startActivity(Intent.createChooser(i, "Send mail..."));
        } catch (android.content.ActivityNotFoundException ex) {
            Toast
                    .makeText(Start.this,
                            "There are no email clients installed.",
                            Toast.LENGTH_SHORT).show();
        }

但是当这个intent被销毁后,我看到list中很多的项目,例如sms app , gmail app, facebook app 等等。
如何把这些都过滤掉,只剩下gmail app? 或者只有email apps?

  • 写回答

2条回答 默认 最新

  • yongyong_21 2012-11-22 08:56
    关注

    使用android.content.Intent.ACTION_SENDTO (new Intent(Intent.ACTION_SENDTO);只能获得电子邮件客户的列表。
    使用Uri来添加主题和正文文本。

    Intent send = new Intent(Intent.ACTION_SENDTO);
    String uriText;
    
    uriText = "mailto:email@gmail.com" + 
              "?subject=the subject" + 
              "&body=the body of the message";
    uriText = uriText.replace(" ", "%20");
    Uri uri = Uri.parse(uriText);
    
    send.setData(uri);
    startActivity(Intent.createChooser(send, "Send mail..."));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • zxd_72 2012-11-19 09:39
    关注

    使用

    // 只用于提示电子邮件客户端
    i.setType("message/rfc822");
    

    代替

    i.setType("text/plain");
    
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 74LS系列 74LS00 74LS04设计一个RS485电路(关键词-差分)
  • ¥30 各位help写一下代码
  • ¥15 在运行SDEdit模型下载不了
  • ¥15 求51控制l298n驱动的小车中超声波避障怎么写
  • ¥15 电脑连上WIFI却用不了
  • ¥30 MATLAB在RLC电路的固有响应和阶跃响应GUI仿真报告
  • ¥15 hyper-v出现的问题
  • ¥15 有能用的可加酬金,求可以批量下载懒人听书的软件,能登录自己帐号的。
  • ¥100 高博一起做RGB-D SLAM(5)VO无法出visualisation问题
  • ¥15 使用matlab进行手眼标定的仿真验证,得到齐次矩阵与opencv相差较大