读书人

转 :android gmail 平添附件

发布时间: 2012-07-23 09:42:20 作者: rapoo

转 :android gmail 添加附件

sendMail1.setOnClickListener(new OnClickListener(){
? ?? ???? ? ? ? public void onClick(View v)
? ?? ???? ? ? ? {
? ?? ???? ? ? ? ? ? ? ? //OK,1
/*? ?? ???? ? ? ? ? ? ? ? Uri uri = Uri.parse("mailto:sxh@oppo.com");? ?? ???
? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SENDTO, uri);? ?? ???
? ?? ???? ? ? ? ? ? ? ? startActivity(it);*/
? ?? ???? ? ? ? ? ? ? ??
? ?? ???? ? ? ? ? ? ? ? //OK,2
//? ?? ???? ? ? ? ? ? ? ? String[] toemail={"sxh@oppo.com", "mailtesst@163.com"};
//? ?? ???? ? ? ? ? ? ? ? String[] ccemail={"sxh@oppo.com", "mailtesst@163.com"};
//? ?? ???? ? ? ? ? ? ? ? String[] bccemail={"sxh@oppo.com", "mailtesst@163.com"};
//? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SEND);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_EMAIL, toemail);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_CC, ccemail);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_BCC, bccemail);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_SUBJECT, "I love you baby!");
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_TEXT, "The email body text");
//? ?? ???? ? ? ? ? ? ? ? it.setType("text/plain");
//? ?? ???? ? ? ? ? ? ? ? startActivity(it);
//? ?? ???? ? ? ? ? ? ? ? startActivity(Intent.createChooser(it, "请选择Email客户端软件"));
? ?? ???? ? ? ? ? ? ? ??
? ?? ???? ? ? ? ? ? ? ? //OK,3
//? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SEND);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_EMAIL, "sxh@oppo.com");
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_TEXT, "The email body text");
//? ?? ???? ? ? ? ? ? ? ? it.setType("text/plain");
//? ?? ???? ? ? ? ? ? ? ? startActivity(Intent.createChooser(it, "请选择Email客户端软件"));

? ?? ???? ? ? ? ? ? ? ? //OK,6
? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SEND);
? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_EMAIL, "sxh@oppo.com");
? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_SUBJECT, "html test");
? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_TEXT, "http://www.tianya.cn/publicforum/content/stocks/1/776130.shtml");
? ?? ???? ? ? ? ? ? ? ? it.setType("text/html");
? ?? ???? ? ? ? ? ? ? ? startActivity(Intent.createChooser(it, "请选择Email客户端软件"));??
? ?? ???? ? ? ? ? ? ? ??
? ?? ???? ? ? ? }
? ?? ???});
? ?? ???
? ?? ???Button sendMail2 = (Button)findViewById(R.id.sendMail2);
? ?? ???sendMail2.setOnClickListener(new OnClickListener(){
? ?? ???? ? ? ? public void onClick(View v)
? ?? ???? ? ? ? {
? ?? ???? ? ? ? ? ? ? ? //OK,5 实现多个附件的添加,这种方式不是标准的做法,没有标准的做法,所以第三方软件不会支持
? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SEND);
? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
? ?? ???? ? ? ? ? ? ? ??
? ?? ???? ? ? ? ? ? ? ? //添加格式,前面字符串为附件的URI写法,后面表示此附件的类型;不能搞错,不能缺少
? ?? ???? ? ? ? ? ? ? ? String szSelectedFiles[]={"file:///sdcard/ebook/CityCodes.xml", "text/xml","file:///sdcard/ebook/PhoneBookU.txt", "text/plain", "file:///sdcard/windy.gif", "image/gif"};
? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_STREAM, szSelectedFiles);
? ?? ???? ? ? ? ? ? ? ? //以下这一句照抄,无论你的附件是什么类型的
? ?? ???? ? ? ? ? ? ? ? it.setType("audio/mp3");
? ?? ???? ? ? ? ? ? ? ? startActivity(Intent.createChooser(it, "请选择Email客户端软件"));

? ?? ???? ? ? ? ? ? ? ? //OK,4 实现单个附件的添加
//? ?? ???? ? ? ? ? ? ? ? Uri uri = Uri.parse("file:///sdcard/mysong.mp3");
//? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SEND);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_STREAM, uri);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
//? ?? ???? ? ? ? ? ? ? ? it.setType("audio/mp3");
//? ?? ???? ? ? ? ? ? ? ? startActivity(Intent.createChooser(it, "请选择Email客户端软件"));
? ?? ???? ? ? ? }
? ?? ???});sendMail1.setOnClickListener(new OnClickListener(){
? ?? ???? ? ? ? public void onClick(View v)
? ?? ???? ? ? ? {
? ?? ???? ? ? ? ? ? ? ? //OK,1
/*? ?? ???? ? ? ? ? ? ? ? Uri uri = Uri.parse("mailto:sxh@oppo.com");? ?? ???
? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SENDTO, uri);? ?? ???
? ?? ???? ? ? ? ? ? ? ? startActivity(it);*/
? ?? ???? ? ? ? ? ? ? ??
? ?? ???? ? ? ? ? ? ? ? //OK,2
//? ?? ???? ? ? ? ? ? ? ? String[] toemail={"sxh@oppo.com", "mailtesst@163.com"};
//? ?? ???? ? ? ? ? ? ? ? String[] ccemail={"sxh@oppo.com", "mailtesst@163.com"};
//? ?? ???? ? ? ? ? ? ? ? String[] bccemail={"sxh@oppo.com", "mailtesst@163.com"};
//? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SEND);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_EMAIL, toemail);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_CC, ccemail);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_BCC, bccemail);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_SUBJECT, "I love you baby!");
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_TEXT, "The email body text");
//? ?? ???? ? ? ? ? ? ? ? it.setType("text/plain");
//? ?? ???? ? ? ? ? ? ? ? startActivity(it);
//? ?? ???? ? ? ? ? ? ? ? startActivity(Intent.createChooser(it, "请选择Email客户端软件"));
? ?? ???? ? ? ? ? ? ? ??
? ?? ???? ? ? ? ? ? ? ? //OK,3
//? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SEND);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_EMAIL, "sxh@oppo.com");
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_TEXT, "The email body text");
//? ?? ???? ? ? ? ? ? ? ? it.setType("text/plain");
//? ?? ???? ? ? ? ? ? ? ? startActivity(Intent.createChooser(it, "请选择Email客户端软件"));
? ?? ???? ? ? ? ? ? ? ? //OK,6
? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SEND);
? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_EMAIL, "sxh@oppo.com");
? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_SUBJECT, "html test");
? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_TEXT, "http://www.tianya.cn/publicforum/content/stocks/1/776130.shtml");
? ?? ???? ? ? ? ? ? ? ? it.setType("text/html");
? ?? ???? ? ? ? ? ? ? ? startActivity(Intent.createChooser(it, "请选择Email客户端软件"));??
? ?? ???? ? ? ? ? ? ? ??
? ?? ???? ? ? ? }
? ?? ???});
? ?? ???
? ?? ???Button sendMail2 = (Button)findViewById(R.id.sendMail2);
? ?? ???sendMail2.setOnClickListener(new OnClickListener(){
? ?? ???? ? ? ? public void onClick(View v)
? ?? ???? ? ? ? {
? ?? ???? ? ? ? ? ? ? ? //OK,5 实现多个附件的添加,这种方式不是标准的做法,没有标准的做法,所以第三方软件不会支持
? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SEND);
? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
? ?? ???? ? ? ? ? ? ? ??
? ?? ???? ? ? ? ? ? ? ? //添加格式,前面字符串为附件的URI写法,后面表示此附件的类型;不能搞错,不能缺少
? ?? ???? ? ? ? ? ? ? ? String szSelectedFiles[]={"file:///sdcard/ebook/CityCodes.xml", "text/xml","file:///sdcard/ebook/PhoneBookU.txt", "text/plain", "file:///sdcard/windy.gif", "image/gif"};
? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_STREAM, szSelectedFiles);
? ?? ???? ? ? ? ? ? ? ? //以下这一句照抄,无论你的附件是什么类型的
? ?? ???? ? ? ? ? ? ? ? it.setType("audio/mp3");
? ?? ???? ? ? ? ? ? ? ? startActivity(Intent.createChooser(it, "请选择Email客户端软件"));
? ?? ???? ? ? ? ? ? ? ? //OK,4 实现单个附件的添加
//? ?? ???? ? ? ? ? ? ? ? Uri uri = Uri.parse("file:///sdcard/mysong.mp3");
//? ?? ???? ? ? ? ? ? ? ? Intent it = new Intent(Intent.ACTION_SEND);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_STREAM, uri);
//? ?? ???? ? ? ? ? ? ? ? it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
//? ?? ???? ? ? ? ? ? ? ? it.setType("audio/mp3");
//? ?? ???? ? ? ? ? ? ? ? startActivity(Intent.createChooser(it, "请选择Email客户端软件"));
? ?? ???? ? ? ? }
? ?? ???});


Android通过Intent发送电子邮件含附件(另附)如何在Android系统中发送带附件的电子邮件呢? 其实通过Intent可以很方便的发送Email,只需要短短10行代码就可以处理,这里Android开发网就以在sdcard上的 android123.cwj文件为例,通过Intent来发送电子邮件。完整代码如下

File file =?new File("\sdcard\android123.cwj"); //附件文件地址

?Intent intent = new Intent(Intent.ACTION_SEND);
?intent.putExtra("subject", file.getName()); //
?intent.putExtra("body", "android123 - email sender"); //正文
?intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); //添加附件,附件为file对象
??????????? if (file.getName().endsWith(".gz")) {
??????????????? intent.setType("application/x-gzip"); //如果是gz使用gzip的mime
??????????? } else if (file.getName().endsWith(".txt")) {
??????????????? intent.setType("text/plain"); //纯文本则用text/plain的mime
??????????? } else {
??????????????? intent.setType("application/octet-stream"); //其他的均使用流当做二进制数据来发送
??????????? }
??startActivity(intent); //调用系统的mail客户端进行发送

?

?

转自:?http://ssd910.blog.163.com/blog/static/23876797201052531243571/

转自:

读书人网 >网络基础

热点推荐