在Android开发中怎样调用系统Email发送邮件

我们都知道,在Android中调用其他程序进行相关处理,几乎都是使用的Intent,所以,Email也不例外。

在Android中,调用Email有三种类型的Intent:
     Intent.ACTION_SENDTO  无附件的发送
     Intent.ACTION_SEND  带附件的发送
     Intent.ACTION_SEND_MULTIPLE  带有多附件的发送


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


  1.使用SENTTO发送

[java] 
Intent data=new Intent(Intent.ACTION_SENDTO);   
data.setData(Uri.parse("mailto:way.ping.li@gmail.com"));   
data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");   
data.putExtra(Intent.EXTRA_TEXT, "这是内容");   
startActivity(data);  

Intent data=new Intent(Intent.ACTION_SENDTO); 
data.setData(Uri.parse("mailto:way.ping.li@gmail.com")); 
data.putExtra(Intent.EXTRA_SUBJECT, "这是标题"); 
data.putExtra(Intent.EXTRA_TEXT, "这是内容"); 
startActivity(data);
通过向Intent中putExtra来设定邮件的相关参数。


 2.使用SEND发送
[java] 
Intent intent = new Intent(Intent.ACTION_SEND); 
String[] tos = { "way.ping.li@gmail.com" };  
String[] ccs = { "way.ping.li@gmail.com" };  
String[] bccs = {"way.ping.li@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:///mnt/sdcard/a.jpg")); 
intent.setType("image/*"); 
intent.setType("message/rfc882"); 
Intent.createChooser(intent, "Choose Email Client"); 
startActivity(intent); 

Intent intent = new Intent(Intent.ACTION_SEND);
String[] tos = { "way.ping.li@gmail.com" };
String[] ccs = { "way.ping.li@gmail.com" };
String[] bccs = {"way.ping.li@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:///mnt/sdcard/a.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来进行多附件的发送
[java] 
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE); 
String[] tos = { "way.ping.li@gmail.com" };  
String[] ccs = { "way.ping.li@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:///mnt/sdcard/a.jpg")); 
imageUris.add(Uri.parse("file:///mnt/sdcard/b.jpg"));        
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris); 
intent.setType("image/*"); 
intent.setType("message/rfc882"); 
Intent.createChooser(intent, "Choose Email Client"); 
startActivity(intent); 

Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
String[] tos = { "way.ping.li@gmail.com" };
String[] ccs = { "way.ping.li@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:///mnt/sdcard/a.jpg"));
imageUris.add(Uri.parse("file:///mnt/sdcard/b.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了。其实还是很简单的。

 

转载于:https://www.cnblogs.com/snake-hand/archive/2013/06/08/3127486.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学计算机后悔转专业,大学转专业容易吗 会后悔吗

有很多的同学是非常的想知道&#xff0c;大学转专业容易吗&#xff0c;会后悔吗&#xff0c;小编整理了相关信息&#xff0c;希望会对大家有所帮助&#xff01;大学转专业难不难能转专业的学校有两种&#xff0c;有一种是顶级学校&#xff0c;注重人才的培养&#xff0c;每年有…

特征工程之特征缩放特征编码

机器学习入门系列&#xff08;2&#xff09;–如何构建一个完整的机器学习项目&#xff0c;第五篇&#xff01; 该系列的前四篇文章&#xff1a; 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一)机器学习数据集的获取和测试集的构建方法特征工程之数据预处理&#…

中国石油大计算机在线考试中心,中国石油大在线考试.doc

中国石油大在线考试作??业第1题 唐代最流行的外来乐器是您的答案&#xff1a;B题目分数&#xff1a;0.5此题得分&#xff1a;0.5批注&#xff1a;中国传统音乐?第2题 广东音乐主要流传在您的答案&#xff1a;D题目分数&#xff1a;0.5此题得分&#xff1a;0.5批注&#xff1…

Python-100 练习题 04 判断天数

练习题 4 的网址&#xff1a; http://www.runoob.com/python/python-exercise-example4.html Example-4 判断天数 题目&#xff1a;输入某年某月某日&#xff0c;判断这一天是这一年的第几天&#xff1f; 思路 判断输入的日期是一年中的第几天&#xff0c;因为一年有12个月&a…

【js】日期插件 my97日期控件

http://my97.net/dp/demo/index.htm 功能不错的日期插件 转载于:https://www.cnblogs.com/merlini/archive/2013/06/09/3129127.html

计算机双一流a水平大学,教育部公布:全国双一流A类名单出炉,36所大学上榜,你的大学在内吗...

今后国家认可的好大学、好专业的标准很明确&#xff0c;就是“双一流”建设高校。高考招生录取&#xff0c;将只强调“双一流”&#xff0c;不会再提及985/211。双一流是世界一流大学和一流学科建设&#xff0c;教育部印发的《教育部2016年工作要点》中要求&#xff0c;加快世界…

ASP.NET 网页之间传递值

如果您的应用程序从一个 ASP.NET 网页重定向&#xff08;导航&#xff09;到另一个 ASP.NET 网页&#xff0c;您经常希望将信息从源页传递到目标页。例如&#xff0c;您可能具有一个页面&#xff0c;用户可以从中选择要购买的商品。当用户提交该页时&#xff0c;您希望调用其他…

计算机控制面板图标怎么删除,电脑如何找回消失的“添加或删除程序”图标

&#xfeff;‍我们会根据需要在自己的电脑上下载一些应用程序&#xff0c;但是也会经常卸载掉一些不用的应用程序。这时我们只要打开控制面板中的“添加或删除程序”就可以对已安装在电脑上的软件进行卸载。不过有用户发现自己的电脑上找不到“添加或删除程序”图标&#xff0…

特征工程(完)

机器学习入门系列&#xff08;2&#xff09;–如何构建一个完整的机器学习项目&#xff0c;第六篇&#xff01; 该系列的前五篇文章&#xff1a; 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一)机器学习数据集的获取和测试集的构建方法特征工程之数据预处理&#…

Linux/CentOS下安装Apache/SVN/Subversion图文详解教程

Linux(CentOS)下安装ApacheSubversion(图文教程) 服务器版本和安装软件服务器版本&#xff1a;RedHatCentOS 5.5 32 bit 安装软件&#xff1a;apr-1.3.5.tar.gz&#xff08;APR(Apache portable Run-time libraries&#xff0c;Apache可移植运行库)的目的如其名称一样&#xff…

计算机专业自然辩证法期末论文,清华大学自然辩证法-期末论文.docx

清华大学自然辩证法-期末论文论道家自然观对于现代科学的启发摘要&#xff1a;道家是中国古代的重要思想学派&#xff0c;而其自然观在中国古代也独树一帜&#xff0c;流传广泛&#xff0c;甚至于对两千多年后的现在仍具有很强的指导意义。本文通过阐明道家自然观的深刻内涵&am…

[Github项目推荐] 机器学习 Python 知识点速查表

2019年第 21 篇文章&#xff0c;总第 45 篇文章今天推荐三份知识点的速查表&#xff0c;分别是机器学习、深度学习和 Python 三方面的知识点速查表。其中前两份都是来自斯坦福大学的课程&#xff0c;分别是 CS229 机器学习 和 CS230 深度学习课程。1. CS229 机器学习速查表传送…

(RMAN)使用恢复目录数据库执行RMAN步骤

原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://407882.blog.51cto.com/397882/212142 我想建立一个RMAN备份机制&#xff0c;本机为目标数据库&#xff0c;sid为orcl10的数据库为恢复目…

计算机一级115,计算机一级BASIC模拟115.doc

PAGEPAGE 1[模拟] 计算机一级BASIC模拟115选择题(每小题1分&#xff0c;共20分)第1题&#xff1a;计算机模拟是属于( )类计算机应用领域?A.科学计算B.信息处理C.过程控制D.现代教育参考答案&#xff1a;D答案解析&#xff1a;计算机作为现代教学手段在教育领域中应用得越来越广…

常用机器学习算法汇总比较(上)

机器学习入门系列&#xff08;2&#xff09;–如何构建一个完整的机器学习项目&#xff0c;第七篇&#xff01; 该系列的前六篇文章&#xff1a; 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一)机器学习数据集的获取和测试集的构建方法特征工程之数据预处理&#…