如何等待电子邮件意图完成并获得结果?
这个问题在这里已经有了答案:
通常,可以使用startActivityForResult()作为子活动来启动第二个活动。 但是,就电子邮件活动而言,这似乎不起作用,可能是因为内部实施。 在发布问题之前尝试搜索:
我们如何使用startActivityforResult()作为电子邮件意图?
实际发送电子邮件是按设计进行异步的,所以活动很可能会在邮件实际发送之前返回。 我没有专门测试这个案例,但从上面的链接看来,活动返回一旦用户点击发送按钮。 如果这足以满足您的用例,那么超级,如果您需要知道邮件是否实际发送,您可能是SOL。
这将是棘手的。 邮件发送没有标准化的返回值,根据用户的设置,邮件可以通过电子邮件应用程序,Gmail应用程序或许多第三方电子邮件应用程序之一发送。 他们最有可能在处理结束电子邮件的方式上有所不同。
至于你的问题,你可以使用startActivityForResult()
来开始一个活动,然后在完成后继续,并返回一个值来指示事情进展情况。 但是,我敢肯定,大多数电子邮件应用程序不会在这里给你一个正确的结果。
我很想说你可能需要自己处理邮件的发送,也就是写一个简单的函数来连接到SMTP并发送邮件。 我确信有很多图书馆可以处理所有的繁重工作。
(当然,您可以先尝试startActivityForResult
- MAYBE最常用的电子邮件应用程序确实会为您提供返回值。)
上一篇: How to wait for email intent to finish and get result?
下一篇: Nhibernate order of SQL statements when flushing session