Android 调用系统的邮箱app发送邮件

 

第一种:

 

 

String[] email = { "3802**[email protected]" }; // 需要注意,email必须以数组形式传入

                Intent intent = new Intent(Intent.ACTION_SEND);

                intent.setType("message/rfc822"); // 设置邮件格式

                intent.putExtra(Intent.EXTRA_EMAIL, email); // 接收人

                intent.putExtra(Intent.EXTRA_CC, email); // 抄送人

                intent.putExtra(Intent.EXTRA_SUBJECT, "这是邮件的主题部分"); // 主题

                intent.putExtra(Intent.EXTRA_TEXT, "这是邮件的正文部分"); // 正文

                startActivity(Intent.createChooser(intent, "请选择邮件类应用"));

这种方式 ,打开选择对话框后,会出现多个选择,其中还有一些不是邮箱的选项,所以这种方式不太妥靠。

 


第二种:

 

 

// 必须明确使用mailto前缀来修饰邮件地址,如果使用

                // intent.putExtra(Intent.EXTRA_EMAIL, email),结果将匹配不到任何应用

                Uri uri = Uri.parse("mailto:3802**[email protected]");

                String[] email = { "7544**[email protected]" };

                Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

                intent.putExtra(Intent.EXTRA_CC, email); // 抄送人

                intent.putExtra(Intent.EXTRA_SUBJECT, "这是邮件的主题部分"); // 主题

                intent.putExtra(Intent.EXTRA_TEXT, "这是邮件的正文部分"); // 正文

                startActivity(Intent.createChooser(intent, "请选择邮件类应用"));

 

第二种方式很好,能直接过滤掉非邮箱app的选项。

你可能感兴趣的:(android)