Welcome 微信登录

首页 / 移动开发 / Android / Android发送邮件的方法实例详解

本文实例讲述了Android发送邮件的方法。分享给大家供大家参考,具体如下:
在android手机中实现发送邮件的功能也是不可缺少的。如何实现它呢?下面以简单的例子进行说明。
程序如下:
import java.util.regex.Matcher;import java.util.regex.Pattern;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.KeyEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnKeyListener;import android.widget.Button;import android.widget.EditText;public class A04Activity extends Activity { private EditText reciver,cc,subject,body; private Button b; private String[] strReciver; private String[] strCc; private String strBody; private String strSubject;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);b=(Button)findViewById(R.id.button);b.setEnabled(false); b.setText("发送邮件");reciver=(EditText)findViewById(R.id.reciver);subject=(EditText)findViewById(R.id.subject);cc=(EditText)findViewById(R.id.cc);body=(EditText)findViewById(R.id.body);reciver.setText("请输入邮箱地址"); //设置默认字段body.setText("请输入邮件内容");subject.setText("请输入主题");cc.setText("请输入邮件的字段");//点击编辑框,进入可编辑状态reciver.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubreciver.setText("");}});cc.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcc.setText("");}});subject.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubsubject.setText("");}});body.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubbody.setText("");}});reciver.setOnKeyListener(new OnKeyListener(){@Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) {// TODO Auto-generated method stubif(isEmail(reciver.getText().toString())){ b.setEnabled(true);}else{ b.setEnabled(false);}return false;}});b.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubstrReciver=new String[]{reciver.getText().toString()};strCc=new String[]{cc.getText().toString()};strSubject=subject.getText().toString();strBody=body.getText().toString();Intent i=new Intent(android.content.Intent.ACTION_SEND);i.putExtra(android.content.Intent.EXTRA_EMAIL, strReciver);i.putExtra(android.content.Intent.EXTRA_CC, strCc);i.putExtra(android.content.Intent.EXTRA_SUBJECT, strSubject);i.putExtra(android.content.Intent.EXTRA_TEXT, strBody);startActivity(Intent.createChooser(i, getResources().getString(R.string.str_message)));}});}public static boolean isEmail(String s){ String expression="^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"; Pattern p=Pattern.compile(expression); Matcher m=p.matcher(s); return m.matches();}}
res/layout/main.xml如下
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello" /><Button android:id="@+id/button"android:layout_width="fill_parent"android:layout_height="wrap_content"/><EditText android:id="@+id/reciver"android:layout_width="fill_parent"android:layout_height="wrap_content"/><EditText android:id="@+id/cc"android:layout_width="fill_parent"android:layout_height="wrap_content"/><EditText android:id="@+id/subject"android:layout_width="fill_parent"android:layout_height="wrap_content"/><EditText android:id="@+id/body"android:layout_width="fill_parent"android:layout_height="wrap_content"/></LinearLayout>
上面是android中实现发送邮件功能的方法之一,还有另外两种方法如下所示:
方法一:
Uri uri=Uri.parse("mailTo:1650***185@qq.com");Intent i=new Intent(Intent.ACTION_SENDTO,uri);startActivity(i);
方法二:
Intent i=new Intent(Intent.ACTION_SEND);String[] tos={"1650***185@qq.com"};String[] ccs={"7885***158@qq.com"};i.putExtra(Intent.EXTRA_EMALL,tos);i.putExtra(Intent.EXTRA_CC,ccs);i.putExtra(Intent.EXTRA_TEXT,"邮件内容");i.putExtra(Intent.EXTRA_SUBJECT,"邮件主题");i.setType("message/rfc822");startActivity(Intent.createChooser(i,"你的邮件"));
如果想在发送的邮件中添加附件,则可以这样写:
Intent i=new Intent(Intent.ACTION_SEND);i.putExtra(Intent.EXTRA_SUBJECT,"邮件主题");i.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/xyz.mp3");startActivity(Intent.createChooser(i,"你的邮件"));
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》及《Android开发入门与进阶教程》
希望本文所述对大家Android程序设计有所帮助。