【问题标题】:Mail Intent doesn't show default Mail app邮件意图不显示默认邮件应用程序
【发布时间】:2012-04-05 00:03:38
【问题描述】:

在某些手机(HTC Desire S with Gingerbread 和 Galaxy Nexus)上,以下 Intent 不会启动默认邮件客户端 (com.android.mail)。

viewIntent = new Intent(Intent.ACTION_SEND);
viewIntent.setType("plain/text");

有什么方法可以找出可以使用哪个intent来启动默认的mai客户端?

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    电子邮件正确的 MIME 类型是 message/rfc822text/plain 也应该可以工作,但可能会触发其他处理程序。 plain/text 不正确。

    此外,如果您将电子邮件地址作为参数传递,ACTION_SENDTO 会更好。

    【讨论】:

    • 谢谢,但是将 text/plain 更改为 message/rfc822 不会改变任何内容。并且没有可以处理 ACTION_SENDTO 操作的应用程序(甚至 GMail 似乎都没有为此注册)
    • 很奇怪。您是否尝试查看实际使用电子邮件应用程序的应用程序触发了什么意图?
    【解决方案2】:

    你可以像下面这样使用:

                Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
                emailIntent.setType("plain/text");
    
            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
                    new String[] { email_add });
            startActivity(emailIntent);
    

    【讨论】:

    • 同上,可惜没有任何改变
    【解决方案3】:

    试试这个方法..

    Intent emailIntent = new Intent(Intent.ACTION_SEND);
                   String toMail[] = {"email id"};
                   emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,toMail);
                   emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject");
                   emailIntent.setType("plain/text");
                   emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "body");
                   startActivity(emailIntent);
    

    【讨论】:

    • 谢谢,但即使使用电子邮件附加功能,意图也不会显示默认邮件活动。
    • 如果你没有得到任何错误然后在设备上测试它,它会工作。
    【解决方案4】:

    最后我不得不改变我的意图,使用“mailto:”链接而不是使用意图附加功能,以使其在 HTC 上工作。

    更多详情可以在这里找到:Only Email apps to resolve an Intent

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多