当前位置: 首页 > 面试题库 >

平凡:确认在android中发送的电子邮件

上官飞
2023-03-14
问题内容

启动电子邮件意图后,如何获得确认已发送电子邮件或发生错误的回叫活动?

        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.setType("png/image");

        String subject = "Email Subject";

        String body = "Message Body";

        emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
        emailIntent.putExtra(Intent.EXTRA_TEXT, body);
        emailIntent.putExtra(Intent.EXTRA_STREAM,
                Uri.parse("file:///sdcard/" + IMAGE_FILENAME));

        startActivity(Intent.createChooser(emailIntent, "Send email..."));

        //Here I need to do something on a successfully sent email

也许开始activityForResult?但是我应该期待什么结果呢?


问题答案:

这确实取决于您的所启动的应用程序Intent。它可以是Gmail应用程序,可以是电子邮件应用程序,也可以是任何第三方应用程序。因此,没有100%可靠的方法来确定用户是否实际按下了Send

您唯一可以做的就是检查Gmail和电子邮件应用程序在通过调用时是否返回了任何相关内容,startActivityForResult并依靠它们。但是要当心这是不可靠的,因为再次可能会有第三方应用程序。另外,由于这些应用并未公开指定返回的内容,因此它们可能会在不作任何通知的情况下在某些时候进行更改。



 类似资料:
  • 问题内容: 我试图直接在单击按钮时打开Gmail的电子邮件发送表单,但这总是显示用于发送电子邮件的选项列表。 我这样做是为了打开GMail表单: 但这不是打开GMail表单。我应该怎么做才能打开GMail表单,请帮忙。 有什么办法吗? 问题答案: 在线路上使用一些东西

  • 问题内容: 我最近开始编程我的第一个node.js。但是,我发现我无法创建直接发送到我的电子邮件的“联系我”表单,因为我无法从能够发送电子邮件的节点中找到任何模块。 有人知道node.js电子邮件库或示例联系表单脚本吗? 问题答案: node-email-templates是一个更好的选择:https : //github.com/niftylettuce/node-email- template

  • 我正在设置身份框架(2?)用于我的ASP.NET站点。我有确认电子邮件工作,但我不知道在哪里或如何允许用户请求重新发送确认电子邮件。 我在这里找到了这个部分‘重新发送电子邮件确认链接',但那是为MVC写的(我根本不知道很多)。

  • 可能重复: 如何从我的Android应用程序发送电子邮件? 我正在创建一个main。xml 如何在android中发送电子邮件。但必须是固定id(例如:myid@example.com) 我有main。xml

  • 我在我的木业商店里遇到了一个很奇怪的问题。有几天“Customer_Processing_Order”电子邮件不再发送给客户。即使我在订单详细信息中触发手动发送此电子邮件,也没有发生任何事情。 在一般电子邮件中,发送与SMTP数据一起工作。当我将状态设置为“已完成”时,电子邮件将被发送。只有订单确认不起作用。 电子邮件被激活,我也检查了错误日志。我还安装了订单电子邮件的预览插件。当我想生成预览时,