【问题标题】:Android: Send mail with standard mail app on button clickAndroid:单击按钮使用标准邮件应用程序发送邮件
【发布时间】:2017-06-07 00:04:01
【问题描述】:

我想将 TextEdit 元素的内容发送到电子邮件地址。我已经编写了这几行代码,并且到目前为止它们正在工作:

@Override
        public void onClick(View v) {
            emailIntent = new Intent(android.content.Intent.ACTION_SEND);
            emailIntent.setData(Uri.parse("mailto:"));
            emailIntent.setType("plain/text");
            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"email@mailaddress.com"});
            emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Mail Subject");
            mailcontent = mailcontentBox.getText().toString();
            emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, mailcontent);
            startActivity(Intent.createChooser(emailIntent, "Insert title for dialog box."));
        }

此代码打开“发送到..”视图,我可以在其中选择不同的应用程序。但是否可以只查看邮件应用程序,甚至更好,直接切换到标准邮件应用程序?

目前,“发送至..”视图中有任何内容,例如邮件应用、whatsapp、facebook、twitter 等。

问候

【问题讨论】:

    标签: android email send


    【解决方案1】:

    您不应该使用Intent.createChooser() 来启动电子邮件 Intent。用户很可能有一个他们希望能够选择为默认应用的首选电子邮件应用。

    只要startActivity(emailIntent);

    【讨论】:

    • 这很有帮助。现在我可以选择我的邮件应用程序并单击“每次都使用”。谢谢你。但是现在我遇到了问题,我点击了“每次都使用它”,我需要撤消它以检查其他一些事情。我试图重新安装它,但这没有帮助。有什么建议吗?
    • @lordzwieback 是的,您必须重置应用设置Settings--->Apps-->Reset App Preferences
    • 该死的,只有在我为所有应用程序都这样做时才有效。好吧,那好吧。不管怎样,谢谢你的帮助。
    • 感谢您的文章,我找到了更好的方法。转到设置-应用程序-您要“取消默认”的默认应用程序-在那里您可以重置到其他应用程序的默认链接
    【解决方案2】:

    尝试使用Intent.ACTION_SENDTO 而不是Intent.ACTION_SEND。 正如它所说的here

    【讨论】:

    • 这让我看到一个带有文本“此操作无法从任何应用程序执行”的视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    • 2011-11-14
    • 2011-08-04
    • 1970-01-01
    • 2017-07-13
    • 2016-11-06
    • 2012-02-11
    相关资源
    最近更新 更多