在Android中发送电子邮件时,如何在StartActivity()中使用Intent.createChooser(),还有目的是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (39)

当我们需要在Android中发送电子邮件时,我们将使用Intent.ACTION_SEND调用注册的电子邮件应用程序,如下所示:

Intent i = new Intent(Intent.ACTION_SEND);
startActivity(Intent.createChooser(i, "Send mail..."));
提问于
用户回答回答于

选择器使用户能够选择除默认值以外的其他邮件应用程序。如果你使用普通Gmail(privat)和电子邮件(与工作相关)并且你想选择要采取哪一项,那么它非常有用。

用户回答回答于

AFAIK,如果你使用Intent.createChooser,有三种不同的解决方式:

  1. 你可以指定选择器对话框的标题,使其更清晰。
  2. 系统将始终显示选择器对话框,即使用户选择了默认的对话框。
  3. 如果你创建的意图Intent.createChooser与任何活动都不匹配,则系统仍会显示一个包含指定标题和错误消息的对话框No application can perform this action。或者对于正常的意图,你可能会得到一个android运行时错误:Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent

扫码关注云+社区