我需要直接启动默认Android电子邮件客户端的撰写活动。我还需要在电子邮件中添加多个附件。在哪里可以找到用于创建显式意图的组件名称?在默认电子邮件客户端(Intent.ACTION_SEND
,Intent.ACTION_SENDTO
,Intent.ACTION_SEND_MULTIPLE
,...)中支持多个附件的正确操作名称是什么?
答案 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
中已更改,但我尚未对其进行测试。