众所周知,在Android中调用其他程序进行相关处理,都是使用的Intent。当然,Email也不例外。

在Android中,调用Email有三种类型的Intent:

Intent.ACTION_SENDTO 无附件的发送

Intent.ACTION_SEND 带附件的发送

Intent.ACTION_SEND_MULTIPLE 带有多附件的发送


当然,所谓的调用Email,只是说Email可以接收Intent并做这些事情,可能也有其他的应用程序实现了相关功能,所以在执行的时候,会出现选择框进行选择。


1.使用SENTTO发送

                Intent data=new Intent(Intent.ACTION_SENDTO);                  data.setData(Uri.parse("mailto:455245521@qq.com"));                  data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");                  data.putExtra(Intent.EXTRA_TEXT, "这是内容");                  startActivity(data); 

通过向Intent中putExtra来设定邮件的相关参数。


2.使用SEND发送

Intent intent = new Intent(Intent.ACTION_SEND);String[] tos = { "fdafdafa@gmail.com" }; String[] ccs = { "gegeff@gmail.com" }; String[] bccs = {"fdafda@gmail.com"};intent.putExtra(Intent.EXTRA_EMAIL, tos);intent.putExtra(Intent.EXTRA_CC, ccs);intent.putExtra(Intent.EXTRA_BCC, bccs);intent.putExtra(Intent.EXTRA_TEXT, "body");intent.putExtra(Intent.EXTRA_SUBJECT, "subject");intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/Chrysanthemum.jpg"));intent.setType("image/*");intent.setType("message/rfc882");Intent.createChooser(intent, "Choose Email Client");startActivity(intent);

很简单,发送邮件中,有收件者,抄送者,密送者。 也就是分别通过

Intent.EXTRA_EMAIL,

Intent.EXTRA_CC,

Intent.EXTRA_BCC

来进行putExtra来设定的。


而单个附件的发送,则使用Intent.EXTRA_STREAM来设置附件的地址Uri。


3.使用SEND_MULTIPLE来进行多附件的发送

Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);String[] tos = { "wingfourever@gmail.com" }; String[] ccs = { "tongyue@gmail.com" }; intent.putExtra(Intent.EXTRA_EMAIL, tos);intent.putExtra(Intent.EXTRA_CC, ccs);intent.putExtra(Intent.EXTRA_TEXT, "body");intent.putExtra(Intent.EXTRA_SUBJECT, "subject");ArrayList<Uri> imageUris = new ArrayList<Uri>();imageUris.add(Uri.parse("file:///sdcard/Chrysanthemum.jpg"));imageUris.add(Uri.parse("file:///sdcard/Desert.jpg"));intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);intent.setType("image/*");intent.setType("message/rfc882");Intent.createChooser(intent, "Choose Email Client");startActivity(intent);

发送多个附件,最主要的时候,通过putParcelableArrayListExtra将多个附件的Uri地址List设置进去就OK了。其实还是很简单的。


如下是在三星galaxy tab 2 10.1上面的运行效果:

Android 调用系统Email --多附件_第1张图片

对于使用邮件发送,在很多的Android应用中都会使用到,跟微博分享一样的常见。大家也只需要稍微了解下就可以了,毕竟还是很容易的。


转载请注明出处:http://blog.csdn.net/ml3947/


---------------------------------

最近公司平板上面的一个项目,要使用Email把日志导出的多页图片进行发送,也有其他的微博分享之类的功能。所以就稍微看了下调用Email发送多附件的,顺带着整理了下,写了这篇博客。


这周末本来打算和同事出去玩的,但貌似要下两天雨,如果真的是这样的话,我也会继续进行写JavaFX的相关博文。



更多相关文章

  1. Android记事本NotePad应用功能拓展(六)
  2. [置顶] 我的Android进阶之旅------>Android之选项卡(TabHost)的
  3. android实现截屏功能
  4. android移动开发的很好的功能的网页
  5. Android获取WIFI状态下的IP地址以及MAC地址
  6. [Android] 利用Handler实现定时器功能
  7. android 程序截图功能
  8. Google公布Android 4.1完整功能
  9. Android常用功能

随机推荐

  1. Android通知Notification详解
  2. GPS 研究一 (Android2.3)
  3. LeakCanary源码分析
  4. Android IMF 学习笔记三
  5. Android(安卓)camera ISP相关 术语解释(
  6. Android中如何让手机屏幕不待机(PowerMana
  7. eclipse 在线安装android包:Download inte
  8. ActionBarSherlock的学习笔记(一) --------
  9. Android从零开始(26)(设置全屏+横屏、相
  10. android 修改默认Launcher