Pro Android学习笔记(一二二):Telephony API(4):发Email

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying以及作者@恺风Wei。

发Email不属于Telephony API,但作为常用通信的方式,也在此提及。Android通过intent调用Email App应用的方式进行短信发送。如果我们开发办公软件,Email还是常用的功能。代码例子如下:

private void sendEmailTest(){
    Intent emailIntent = new Intent(Intent.ACTION_SEND);
   
    String subject = "Hi!";
    String body = "Hello from android...";
    String[] extra = new String[]{"[email protected]","[email protected]"};
   
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
    emailIntent.putExtra(Intent.EXTRA_TEXT, body);
    emailIntent.putExtra(Intent.EXTRA_EMAIL, extra);
    emailIntent.setType("message/rfc822");
    startActivity(emailIntent);       
}

发送邮件有Intent.ACTION_SENDTO,Intent.ACTION_SEND和Intent.ACTION_SEND_MULTIPUL。他们所携带Email的参数会有所不同。下面是ACTION_SENDTO的例子:

Intent emailIntent = new Intent(Intent.ACTION_SENDTO);

String subject = "Hi!";
String body = "Hello from android...";

emailIntent.setData(Uri.parse("mailto:[email protected]"));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(Intent.EXTRA_TEXT, body);
startActivity(emailIntent);   

ACTION_SENDTO不携带附件,ACTION_SEND可携带一个附件,ACTION_SEND_MULTIPUL可以携带多个附件。但是无论使用哪种方式,最终都会调用Email APP的,用户都可以在Email App中添加自己所需要的附件。详细的可以阅读http://www.2cto.com/kf/201209/153859.html。

常用的参数还有Intent.EXTRA_CC和Intent.EXTRA_BCC。对于ACTION_SEND,携带附件的方式如下:

emailIntent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(new File(myFileName)));

小例子代码在:Pro Android学习:telephony小例子

相关链接:我的Android开发相关文章

你可能感兴趣的:(Pro Android学习笔记(一二二):Telephony API(4):发Email)