在很多情况下需要传递的不仅是E-mail地址,还包括E-mail标题、E-mail内容等实质性的信息,传递这些信息的Action是Intent.ACTION_SEND,代码如下:
广州网站建设
- Intent sendEmailIntent = new Intent(Intent.ACTION_SEND);
- // 要发送的信息需要通过putExtra方法指定
- // 指定要发送的目标E-mail
- sendEmailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{ "techcast@126.com" });
- // 指定两个抄送的E-mail地址
- sendEmailIntent.putExtra(Intent.EXTRA_CC, new String[]{ "abc@126.com",
- "test@126.com" });
- // 指定E-mail标题
- sendEmailIntent.putExtra(Intent.EXTRA_SUBJECT,"关于Android的两个技术问题");
- // 指定E-mail内容
- sendEmailIntent.putExtra(Intent.EXTRA_TEXT,
- "1. 如何调用其他应用程序中的Activity?\n2. 在应用程序中如果接收系统广播?");
- // 指定E-mail的内容是纯文本
- sendEmailIntent.setType("text/plain");
- // 建立一个自定义选择器,并由用户选择使用哪一个客户端发送消息
- startActivity(Intent.createChooser(sendEmailIntent,"选择发送消息的客户端"));
特别要提一下的是Intent.createChooser方法,该方法可以创建一个自定义的选择器。在Android系统中支持Intent.ACTION_SEND动作的可能不只有E-mail客户端,因此,执行上面代码后一般不会直接进入发送E-mail的界面,而是会弹出一个类似如图9.5所示选择发送消息客户端的菜单(会根据模拟器或手机中安装软件的不同有所区别,其他的Action也可能会发生这种情况)。单击"发送电子邮件"菜单项时,就会进入发送E-mail的客户端,如图9.6所示,直接单击"发送"按钮即可发送E-mail。广州网站设计
![]() |
| 图9.5 选择发送消息的客户端 |
![]() |
| 图9.6 传入完整的E-mail信息 |





