Android开发中怎样调用系统Email发送邮件(多种调用方式)
在Android中調(diào)用其他程序進(jìn)行相關(guān)處理,幾乎都是使用的Intent,所以,Email也不例外,所謂的調(diào)用Email,只是說Email可以接收Intent并做這些事情
我們都知道,在Android中調(diào)用其他程序進(jìn)行相關(guān)處理,幾乎都是使用的Intent,所以,Email也不例外。?
在Android中,調(diào)用Email有三種類型的Intent:?
Intent.ACTION_SENDTO 無附件的發(fā)送?
Intent.ACTION_SEND 帶附件的發(fā)送?
Intent.ACTION_SEND_MULTIPLE 帶有多附件的發(fā)送?
當(dāng)然,所謂的調(diào)用Email,只是說Email可以接收Intent并做這些事情,可能也有其他的應(yīng)用程序?qū)崿F(xiàn)了相關(guān)功能,所以在執(zhí)行的時(shí)候,會出現(xiàn)選擇框進(jìn)行選擇。?
1.使用SENTTO發(fā)送?
Intent data=new Intent(Intent.ACTION_SENDTO); data.setData(Uri.parse("mailto:way.ping.li@gmail.com")); data.putExtra(Intent.EXTRA_SUBJECT, "這是標(biāo)題"); data.putExtra(Intent.EXTRA_TEXT, "這是內(nèi)容"); startActivity(data); Intent data=new Intent(Intent.ACTION_SENDTO); data.setData(Uri.parse("mailto:way.ping.li@gmail.com")); data.putExtra(Intent.EXTRA_SUBJECT, "這是標(biāo)題"); data.putExtra(Intent.EXTRA_TEXT, "這是內(nèi)容"); startActivity(data);通過向Intent中putExtra來設(shè)定郵件的相關(guān)參數(shù)。?
2.使用SEND發(fā)送?
很簡單,發(fā)送郵件中,有收件者,抄送者,密送者。 也就是分別通過?
Intent.EXTRA_EMAIL,?
Intent.EXTRA_CC,?
Intent.EXTRA_BCC?
來進(jìn)行putExtra來設(shè)定的,而單個(gè)附件的發(fā)送,則使用Intent.EXTRA_STREAM來設(shè)置附件的地址Uri。?
3.使用SEND_MULTIPLE來進(jìn)行多附件的發(fā)送?
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);發(fā)送多個(gè)附件,最主要的時(shí)候,通過putParcelableArrayListExtra將多個(gè)附件的Uri地址List設(shè)置進(jìn)去就OK了。其實(shí)還是很簡單的。
Android開發(fā)中怎樣調(diào)用系統(tǒng)Email發(fā)送郵件(多種調(diào)用方式)
總結(jié)
以上是生活随笔為你收集整理的Android开发中怎样调用系统Email发送邮件(多种调用方式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Delphi Qjson
- 下一篇: 深入理解javascript之this