android开发分享Android开发中怎样调用系统Email发送邮件(多种调用方式)

我们都知道,在android中调用其他程序进行相关处理,几乎都是使用的intent,所以,email也不例外。 在android中,调用email有三种类型的intent:

我们都知道,在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了。其实还是很简单的。

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/939402.html

(0)
上一篇 2021年11月13日
下一篇 2021年11月13日

精彩推荐