Android默认电子邮件客户端的明确意图

时间:2013-12-03 16:00:52

标签: android android-intent

我需要直接启动默认Android电子邮件客户端的撰写活动。我还需要在电子邮件中添加多个附件。在哪里可以找到用于创建显式意图的组件名称?在默认电子邮件客户端(Intent.ACTION_SENDIntent.ACTION_SENDTOIntent.ACTION_SEND_MULTIPLE,...)中支持多个附件的正确操作名称是什么?

1 个答案:

答案 0 :(得分:0)

好的,检查Android电子邮件系统应用程序的源代码我终于找到了它。

String subject = ...
String text = ...
ArrayList<Uri> attachments = ...
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, attachments);
intent.setClassName("com.android.email", "com.android.email.activity.MessageCompose");
try {
    startActivity(intent);
} catch (ActivityNotFoundException anfe) {
    anfe.printStackTrace();
}

这似乎适用于Android 4.0到Android 4.3。在Android 4.4(KitKat)中,活动的名称在com.android.email.activity.ComposeActivityEmail中已更改,但我尚未对其进行测试。