android - 如何等待电子邮件 Intent 完成并获得结果?

标签 android android-intent email-client

这个问题在这里已经有了答案:





how can we use startActivityforResult() for Email intent?

(3 个回答)


9年前关闭。




在我的 Android 应用程序中,我可以使用以下命令以编程方式打开默认的电子邮件编辑器,其中包含收件人、主题和消息:

Intent emailIntent=new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, toemail);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(Intent.EXTRA_TEXT, body);
emailIntent.setType("text/plain");
emailIntent.setClassName("com.android.email", "com.android.email.activity.MessageCompose");
startActivity(emailIntent);

这很好用,但我需要在我的应用程序中等待,直到用户完成电子邮件屏幕,并且还知道电子邮件是已发送还是已丢弃。

有人知道怎么做吗?

最佳答案

通常,可以使用 startActivityForResult() 来启动第二个 Activity 作为子 Activity 。但是,在电子邮件 Activity 的情况下,这似乎不起作用,可能是因为内部实现。在发布问题之前尝试搜索:

how can we use startActivityforResult() for Email intent?

电子邮件的实际发送在设计上是异步的,因此 Activity 可能会在电子邮件实际发送之前返回。我没有专门测试这个案例,但是从上面的链接看来,一旦用户点击发送按钮, Activity 就会返回。如果这足以满足您的用例,那么 super ,如果您需要知道电子邮件是否实际发送,您可能是 SOL。

关于android - 如何等待电子邮件 Intent 完成并获得结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4443148/

相关文章:

android - 从 TextView 中获取一个字符串,将其传递给一个变量并将其传递给其他 Activity

java - 如何在 android-java 中同时扩展 Activity 类和 BroadcastReceiver

android - 如何设置默认应用程序安装程序?

email - 开源 JMAP 兼容服务器?

java - 如何解决 "The Google Maps Android API Street View service has been disabled for this application"?

android - 如何居中对齐位图?

android - SearchView 无意中启动可搜索 Activity

android - 如何在 Android 中使用 IMAP over SSL 连接到邮件服务器?

Android 按钮 onclick 提交到电子邮件

android - AsyncTask 与 PHP/MySql 不能正常工作